• WPF 资源


    1. WPF资源系统是一种保管一系列对象的简单方法,每个元素都有一个Resources属性,该属性存储了一个资源字典集合.资源结合可以包含任意类型的对象。样式也是一种资源。
    2. 静态资源与动态资源的区别:
      • 静态资源:从资源集合中获取资源一次,通过代码对资源的改动会更新到应用资源的控件
      • 动态资源:动态资源在每次需要时都会从资源集合中检索该资源
      • 静态资源总是在创建窗口时加载,动态资源在第一次使用它们时加载

        作为一般规则,动态资源通常应用与如下场景:
      • 资源依赖于系统的属性,如SystemColors,SystemFonts,SystemParameters
        <Style>
         <Style.Triggers>
            <Trigger Property="IsEnabled" Value="False">
                <Setter Property="Foreground" Value="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}"/>
             </Trigger>
         </Style.Triggers>
        </Style>
      • 计划通过编程替换资源对象
    3. 控件查找资源的顺序是首先查找自身资源,然后向上依次查找父窗口的资源,如果所有窗口中都找不到资源,会继续查找应用程序的资源,即在App.xaml中查找
    4. 如果要在多个项目之间共享资源,可以创建一个资源字典,资源字典是一个简单的xaml文档,只存储资源,不做其他任何事情,注意资源字典的Build Action应设为Page或者Resource。为了使用资源字典,需要将其合并到应用程序或者窗口的资源结合中,通常将其合并到应用程序的结合中
      <Application.Resources>
      <ResourceDictionary>            
                <ResourceDictionary.MergedDictionaries>
                      <ResourceDictionary Source="path1.xaml"/>
      <!-- 资源字典在其他assembly中的引用格式,RA.Framework是assembly name,component/资源文件在工程中的路径 --> <ResourceDictionary Source="/RA.Framework;component/Themes/Generic.xaml"/> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources>
  • 相关阅读:
    [Leetcode]Container With Most Water随记
    [Leetcode]leetcode1-10题随记
    随机梯度下降的逻辑回归算法(SGDLR)
    IRP 与 派遣函数
    RtlInitUnicodeString、IoCreateDevice、IoCreateSymbolicLink、IoDeleteDevice 四个 API 驱动函数的使用
    基类 的薄弱之处
    类 的重载(Overloads)与隐藏(Shadows)
    VS 2013驱动开发 + Windbg + VM双机调试(亲测+详解)
    类 的继承性(Inherits)与 重写(Overrides)
    VB.NET 结构(Structure)和类(Class)的区别
  • 原文地址:https://www.cnblogs.com/phenixyu/p/4088029.html
Copyright © 2020-2023  润新知