SilverLigth继承了WPF的样式风格和模版的概念,和HTML使用CSS样式差不多。
为什么引入样式和使用样式,这点恐怕使用过CSS的人都应该有比较直观的感觉。就不多说了
在SilverLight中使用样式三种(目前我了解到的)
1,控件内部样式(CSS内联样式,和CSS中一样,具有最高优先权):在控件内部定义样式
<Button>
<Button.Style>
<Style> //这种形式的,要是闲着没事,可以选择
</Style>
</Button.Style>
</Button>
12 3 8 9 10
2,用户控件资源
在UserControl.Resources中定义Style
<Style x:Key="btnStyle" TargetType="Button"></Style> //TargetType表示该样式作用于哪一种控件,key是为了引用
引用方式:Style="{StaticResource btnStyle}"
引入样式后可以在控件内部重新定义属性,并且可以覆盖引入的样式(和CSS中样式级别一样)
12 9 10 1112 13 18 19 20
3,全局样式:在APP.xaml中如上定义
15 6 15 18 19
用户控件资源样式、全局样式形式,如果在定义Style时,没有指定x:Key="",那么,该样式作用于该样式的作用域!
用户控件资源样式作用域:定义该要是的xaml内部
App.xaml中定义的全局样式,作用域:该项目
扩展:
SilverLight中的控件内部样式使用仅限于该控件本身,因此它没有被放在资源字典中。
控件资源(xxx.Resources)是向下继承的!!!
12 3 10 11 12
控件模版
SilverLight每个控件都有若干属性,用于改变控件的大小、颜色、字体、位置等。但通过属性来改变控件的外观形状是有限的。
………………