热门:网页模板.net视频教程JQueryMVCjsonExtJs源码示例三级联动JQuery菜单
您现在的位置:.Net中文社区>> Silverlight>>正文内容

silverlight 3中的层叠样式

发布时间:2010年03月17日点击数: 佚名

跟在css一样,silverlight 3中也可以创建层叠样式了。

你可以在一个样式的基础上追加或者重写样式的值,这样就可以在silverlight中创建一个强大的并且可以重用的样式表了。

语法:
级联样式是通过样式表的新的 BasedOn 属性实现的。

  1. <UserControl x:Class="BasedOnStyles.MainPage" 
  2.     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"   
  3.     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
  4.     <UserControl.Resources> 
  5.         <Style x:Name="Headline" TargetType="TextBlock"> 
  6.             <Setter Property="FontFamily" Value="Verdana" /> 
  7.             <Setter Property="FontSize" Value="14" /> 
  8.         </Style> 
  9.         <Style x:Name="ImportantHeadline" TargetType="TextBlock" BasedOn="{StaticResource Headline}"> 
  10.             <Setter Property="Foreground" Value="Red" /> 
  11.         </Style> 
  12.         <Style x:Name="HomePageHeadline" TargetType="TextBlock" BasedOn="{StaticResource Headline}"> 
  13.             <Setter Property="FontSize" Value="18" /> 
  14.         </Style> 
  15.     </UserControl.Resources> 
  16.     <StackPanel> 
  17.         <TextBlock Text="TextBlock with applied Headline style" Style="{StaticResource Headline}" /> 
  18.         <TextBlock Text="TextBlock with applied ImportantHeadline style" Style="{StaticResource ImportantHeadline}" /> 
  19.         <TextBlock Text="TextBlock with applied HomePageHeadline style" Style="{StaticResource HomePageHeadline}" /> 
  20.     </StackPanel> 
  21. </UserControl> 

在这里我们定义了一个控制TextBlock元素的FontFamily和FontSize的基本样式 Headline. 接下来我们定义了另外一个指向TextBlock元素的样式 ImportantHeadline。需要注意的是这里添加了一个额外的属性 BasedOn. 这个样式是基于basedon的值的----就像这个例子里的Headline。在这里我们设置Textblock的前景属性为红色。
当我们在TextBlock控件上使用ImportantHeadline属性,就会使用Headline样式的所有值和ImportantHeadline的被设置的值。
然后定义另外一个HomePageHeadline样式,他也是基于Headline样式的。

效果图如下:

本站热点业务

更多模板/案例展示

关于我们 | 联系我们 | 团队日志 | 网站地图 | 网站合作