WPF-资源与样式

1.资源

1.1 简介

WPF资源系统是一种保管一系列有用对象(如常用的画刷、样式和模板)的简单方法,从而使您可以更容易地重用这些对象。
每个元素都有Resources属性,该属性存储了一个资源字典集合(它是ResourceDictionary类的实例)。
资源集合可包含任意类型的对象,根据字符串编写索引。

1.2 写法

  • Window的写法:

    1
    2
    3
    4
    <Window>
    <Window.Resources>
    </Window.Resources>
    </Window>
  • Control的写法:

    1
    2
    3
    4
    <Control>
    <Control.Resources>
    </Control.Resources>
    </Control>

    2. 样式

2.1 简介

样式是修改View(窗体、控件)样式的主要手段,主要作用更改控件的外观以及增强用户体验。

2.2 样式的属性

属性名 含义
Setterts 设置属性值以及自动关联事件处理程序的Setter对象或EventSetter对象的集合是Style类中最重要的属性,但并非唯一属性。
Triggers 继承自TriggerBase类能自动改变样式设置的对象集合。例如,当另一个属性改变时,或者当发生某个时间时,可以修改样式。
Resources 希望用于样式的资源集合。
BasedOn 通过该属性可创建继承自其它样式设置的更具体的样式
TargetType 该属性标识应用样式的元素类型。通过该属性可创建只影响特定类型元素的设置器,还可以创建能够为恰当的元素类型自动起作用的设置器

2.3 如何关联样式

  • DynamicResource(动态资源)
    <Button Style="{StaticResource BtnStyle}" />
  • StaticResource(静态资源)
    <Button Style="{DynamicResource BtnStyle}" />

二者区别
静态资源在第一次编译后即确定其对象或值,之后不能对其进行修改。
动态资源在运行时决定,当运行过程中真正需要时,才到资源目标中查找其值。