WPF 资源

资源

指一些非代码应用程序和组件,如位图,字体,声音和图像文件,字符串表。
WPF不仅依赖核心.NET资源系统,还添加2种不同资源类型支持。

 

二进制资源(位图等)

 

逻辑资源

存储在Resources属性中的.NET对象(元素的Resources属性中),通常需要共享给多个子元素。

这些逻辑资源通常是样式,数据提供程序。
<!-- 定义页面逻辑资源,实现CSS功能 star -->
<Page.Resources>
    <!-- 存储预定义好的笔刷对象 -->
    <SolidColorBrush x:Key="myBackgroundBrush" Color="Yellow" />
    <SolidColorBrush x:Key="myBorderBrush" Color="Red" />
    <Button x:Key="myButton" Content="资源作为一个元素使用" />
</Page.Resources>
<!-- 定义页面逻辑资源,实现CSS功能 end -->
<StackPanel VerticalAlignment="Top">
    <Button Content="{DynamicResource myButton}" />
    <Button Content="跳转" Click="Button_Click"
            Background="{StaticResource myBackgroundBrush}"
            BorderBrush="{StaticResource myBorderBrush}" />
</StackPanel>

 

WPF提供了2种访问逻辑资源的方式:

1.静态

由StaticResource实现,只被应用一次。

2.动态

由DynamicResource实现,每次更改都会重新应用。

 

在程序中定义和使用逻辑资源:

//在当前Page实例中添加逻辑资源对象
this.Resources.Add("myBackgroundBrush", new SolidColorBrush(Color.FromRgb(255,0,0)));

Button button = new Button();
//获取资源字典中指定值
button.Background = (Brush)this.Resources["globe"];
//以静态方式访问逻辑资源
button.Background = (Brush)button.TryFindResource("myBackgroundBrush");
//以动态方式访问逻辑资源
button.SetResourceReference(Button.BorderBrushProperty, "myBorderBrush");


 

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值