Silverlight 样式

WPF 和 Silverlight 支持 Style 机制,它允许我们把控件的属性值封装成可重用的资源。我们可以把这些样式声明保存在独立于页面的其他文件中(当然本文件也可以),然后就可以在一个应用程序中跨控件和页面重用(甚至跨多个应用程序重用)。在做一些基本定制的场景下,概念上类似于在 HTML 中重用 CSS。

 

一个样式的简单例子

我们给一个园定义一个名叫 EllipseStyle1 的样式,然后应用这个样式。

Xaml 文件

<UserControl
	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	x:Class="SilverlightApplication_Style.MainPage"
	Width="300" Height="300">
	<UserControl.Resources>
		<Style x:Key="EllipseStyle1" TargetType="Ellipse">
			<Setter Property="Fill">
				<Setter.Value>
					<LinearGradientBrush EndPoint="0.9,1" StartPoint="0.1,0.1">
						<GradientStop Color="#FF42B34A" Offset="0"/>
						<GradientStop Color="#FFC03535" Offset="1"/>
					
  
  LinearGradientBrush>
				
   
   Setter.Value>
			
    
    Setter>
			<Setter Property="Margin" Value="10,0,0,0"/>
			<Setter Property="Cursor" Value="Hand"/>
			<Setter Property="StrokeThickness" Value="20"/>
			<Setter Property="VerticalAlignment" Value="Center"/>
			<Setter Property="HorizontalAlignment" Value="Center"/>
		
     
     Style>
	
      
      UserControl.Resources>

	<Grid x:Name="LayoutRoot" Background="White">
		<Ellipse Height="100" Width="100" Style="{StaticResource EllipseStyle1}" />
	 
       Grid>  
        UserControl>

效果图:

image

这里简单期间把样式跟控件放在一个文件中了, 实际我们还可以放在另外一个文件。

使用 Blend 设计样式时,我们会看得更清楚,

使用菜单在 对象 –> 编辑样式 –> 创建空项 打开创建 Style 资源时,我们就可以看到我们可以在多个地方保存样式:

image

之后在 Blend 中编辑时,可以在资源中选择对应的样式名字,然后如下图所示进行编辑:

编辑可以在属性窗口修改任何想修改的内容。

image

在编辑完毕后,在对象和时间线中,点击 image 按钮就可以回到正常状态。

image

参考资料:

Silverlight教程第四部分:使用 Style 元素更好地封装观感
http://blog.joycode.com/scottgu/archive/2008/02/29/114915.joy

一步一步学Silverlight 2系列(8):使用样式封装控件观感
http://www.cnblogs.com/Terrylee/archive/2008/03/08/Silverlight2-step-by-step-part8-styles.html

解说:Silverlight Style,Setter(XAML/Design)换肤机制
http://blog.csdn.net/bobby96333/archive/2008/10/22/3126363.aspx

Silverlight2 边学边练 之六 设定风格
http://www.cnblogs.com/gnielee/archive/2009/08/02/1537122.html

Silverlight 2 : 关于ListBox的一个Layout Bug及其解决方法
http://www.cnblogs.com/sun/archive/2009/03/04/1402648.html

Silverlight项目中"自定义控件开发/Style"学习笔记
http://www.cnblogs.com/yjmyzz/archive/2009/11/11/1600791.html

Quick Silverlight Tip: Define control style dynamically
http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2008/09/09/quick-silverlight-tip-define-control-style-dynamically.aspx

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值