zoukankan      html  css  js  c++  java
  • WPF 资源字典【转】

    使用好处:存储需要被本地话的内容(错误消息字符串等,实现软编码),减少重复的代码,重用样式,实现多个项目之间的共享资源;
    修改一个地方所有引用的地方都会被修改,方便统一风格;

    使用方法,归纳起来主要有下面几个步骤:
    a. 创建资源字典文件,
    b. 资源字典集成
    c. 使用字典中的资源

    说明:在创建资源的时候要确保资源文件的编译选项为page,这样就能够保证XAML资源文件最终能够编译为baml文件。但是如果设置为Resource也是一个不错的选择,这样它能够嵌入到程序集中,但是不被编译,当然其解析的速度回稍微慢一点

    资源文件分级:
    系统性资源,一般会在app.xaml中集成;

    复制代码
    <ResourceDictionary>
    
                <ResourceDictionary.MergedDictionaries>
    
                    <ResourceDictionary Source="Test.xaml"/>
    
                </ResourceDictionary.MergedDictionaries>
    
            </ResourceDictionary>
    复制代码

    窗体级资源;

     <Window.Resources>
            <SolidColorBrush x:Key="FadeBrush" Color="Red"/>
        </Window.Resources>

    文件级资源;在窗体中再将其注册为窗体资源;

        <Window.Resources>
            <ResourceDictionary Source="MyResouceDictionary.xaml"></ResourceDictionary>
        </Window.Resources>


    对象控件级资源:定义在某个ContentControl ,作为子元素的共享资源;

    复制代码
         <Button  Grid.Row="0" Click="Button_Click" Background="{StaticResource  FadeBrush}" >
                <Button.Resources>
                    <SolidColorBrush x:Key="FadeBrush" Color="White" ></SolidColorBrush>
                </Button.Resources>
                <Button.Content>
                    <TextBlock Background="{StaticResource FadeBrush}" >看我自己的颜色</TextBlock>
                </Button.Content>
            </Button>
    复制代码

    文本框的背景显示白色;

    资源优先级:

    具体引用时,从所在容器向上查找,比如有相同key值的系统资源和窗体级资源,那么使用窗体级资源;
    对象级资源会覆盖窗体级资源;

  • 相关阅读:
    element ui 表单清空
    element ui 覆盖样式 方法
    element ui 修改表单值 提交无效
    element ui 抽屉里的表单输入框无法修改值
    element ui 抽屉首次显示 闪烁
    css 左侧高度 跟随右侧内容高度 自适应
    PICNUF框架
    elementui 抽屉组件标题 出现黑色边框
    vue 子组件跨多层调用父组件中方法
    vue 编辑table 数据 未点击提交,table里的数据就发生了改变(深拷贝处理)
  • 原文地址:https://www.cnblogs.com/dayang12525/p/6212477.html
Copyright © 2011-2022 走看看