汪则翰和妻子照片:Silverlight 属性样式、控件模板、视觉状态
来源:百度文库 编辑:中财网 时间:2024/03/29 16:12:13
在使用Silverlight的样式的时候感觉非常好,以前在HTML上很难实现的效果在这里都变的如此简单。
属性样式
控件的属性样式好比CSS的Class功能定义,是用来统一定义和维护控件属性的方式,控件属性样式根据生命的位置不同分为三种范围的作用域
全局样式
全局样式声明在App.Xaml 文件中具有整个项目的使用范围能力
局部样式
局部样式使用
内部样式
内部样式代表在元素的级别上来生命的资源,具有这个容器或者控件的使用范围
样式支持继承的方式访问,在父容器元素定义的样式其内部的包含的控件也可以使用这个样式,下面的Button就使用了其父容器控件中的资源。
控件模板
控件模板用于个性化的去定义控件的外观,可以使用Blend或者是手动去使用XAML编写组合一个你所想要的控件外观,比如圆形的按钮等等,同时这个控件本身依然具有控件本身的功能作用。
他的定义是Style的一个扩展,只要在Style中添加Property="Template" 的Setter 标记 并在Value中定义即可
Orientation="Horizontal"
VerticalAlignment="Center"
Background="White">
----使用样式的名称即可
视觉状态
视觉状态也是Style的一个扩展,在Silverlight 的样式中控件在某个状态下的不同效果也是可以定义的,比如鼠标在按钮悬停时候按钮的样子啊,按下按钮的样子啊等等。
当然和Style一样,每种按钮都有不同的属性也会有不同的状态。那么我们如何得知控件有那些状态呢,方法很简单,只要 右键选中一个控件,转到定义,在元数据里面就会看到他的状态都有那些了。
// Summary: // Represents a button control. [TemplateVisualState(Name = "Focused", GroupName = "FocusStates")] [TemplateVisualState(Name = "Normal", GroupName = "CommonStates")] [TemplateVisualState(Name = "MouseOver", GroupName = "CommonStates")] [TemplateVisualState(Name = "Pressed", GroupName = "CommonStates")] [TemplateVisualState(Name = "Disabled", GroupName = "CommonStates")] [TemplateVisualState(Name = "Unfocused", GroupName = "FocusStates")] public class Button : ButtonBase
上面的特性就是视觉状态了,我们就要重新定义这些Name的状态。