ResourceDictionary

ResourceDictionary资源字典出现的初衷就是在于它可以实现多个项目之间的共享资源,资源词典简单来说它就是一个XAML文档,这个文档就是装我们需要使用的资源。

它的使用可以减少重复的代码、重复的样式,多个项目共享。

在资源字典里的XAML代码修改一个地方的话,所有引用它的地方都会被修改。

这样的话方便项目统一风格。

 

1、创建资源字典第一步就是先要创建一个装资源字典的文件。

2、然后就是在文件夹那里添加资源字典

创建好后大概就是这个样子,然后在里面写我们需要的样式

3、然后呢第三步就是使用我们的资源字典。要是用资源字典,首选要将资源字典

集成到应用程序的一些资源合集中,然后就是在app.xaml文件中进行集成。

代码如下:

 

<!--Resource Dictionary –资源字典-->

        <!--所有的资源项在最终都会被整合到Resource Dictionary中的,也就是说无论是FrameworkElementResources,还是WindowResources,还是ApplicationResources

还是特定的ResourceDictionary中定义的resources在整个应用编译执行的时候实际上他们

都在一起的作为可遍历集合共同存在于一个相对会话空间内的。 我们也提到过Resource

key是可以被允许有相同的,这样在遍历不同相对地址的Resource Dictionary时会根据StaticResource或者DynamicResourcelookup behavior来确定哪个有效。通常为了维护

和灵活性的考虑,我们通常会将Resource Dictionary文件分成好几个,但在某些场合下

我们只需要用其中某些资源,那么我么可以将资源从几个独立的文件中提取并合并.-->

 

        <ResourceDictionary>

            <!--给应用程序添加默认资源:其实就是将默认的Resource Dictionary加入到Application的全局Resource里边。-->

            <ResourceDictionary.MergedDictionaries>

                <!--封装好的公共样式-->

                <ResourceDictionary Source="Tools/Dictionary/PublicBasic.xaml"/>

                <!--封装好的公共样式-->

                <ResourceDictionary Source="Tools/Dictionary/ButtonsBasic.xaml"/>

            </ResourceDictionary.MergedDictionaries>

        </ResourceDictionary>

 

然后使用资源字典的方法就是需要使用StaticResource关键字去添加

(如下图)

tatic Resource – 静态资源(StaticResource仅仅会被应用一次---在第一次需要资源时加载。而且这种引用方式不支持向前加载,所有的资源定义必须在引用之前定义)

 

Dynamic Resource – 动态资源,(与Static Resource不同的是,Dynamic Resource可以在程序运行时重新评估/计算资源来生成对应的对象/值,它支持向前引用,只要请求的key在整个应用程序内的任何Resources Dictionary定义过就可以被加载。如果有多个相同的key存在,则最后搜索到的资源为有效)

 

Resource Dictionary –资源字典(所有的资源项在最终都会被整合到Resource Dictionary中的,也就是说无论是FrameworkElement的Resources,还是Window的Resources,还是Application的Resources,还是特定的ResourceDictionary中定义的resources在整个应用编译执行的时候实际上他们都在一起的作为可遍历集合共同存在于一个相对会话空间内的)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值