资源
WPF资源系统是一种保管一系列有用对象(如常用的画刷、样式或模板)的简单方法,从而使您可以更容易地重用这些对象。
尽管可以在代码中创建操作资源,但通常在XAML标记中定义资源。
资源基础
资源集合
每个元素都有Resources属性,该属性存储了一个资源字典集合,他是ResourceDictionary类的实例。资源集合可包含任一类型的对象,并根据字符串编写索引
通常在窗口级别定义资源
<Winodw.Resources>
<ImageBrush x:key="TitleBrush" TileMode="Tile" ViewportUnits="Absolute" ViewPort="0 0 32 32" ImageSource="happface.jpg" Opacity="0.3"></ImageBrush>
</Winodw.Resources>
使用该资源的按钮
<Button Background="{StaticResource TileBrush}" Margin="5" Padding="5" FontWeight="Bold" FontSize="14">A Tiled Button</Button>
可使用动态资源执行相同的操作(但开销稍大些)
<Button Background="{DynamicResource TileBrush}"
资源的层次
每个元素都有自己的资源集合,为了找到期望的资源,WPF在元素树种进行递归搜索。
静态资源和动态资源
静态资源只从资源集合中获取对象一次。动态画刷在每次需要对象时都会重新从资源集合中查找对象。
通常不需要使用动态资源,使用静态资源应用程序也能很完美的工作