WPF 静态资源(StaticResource)和动态资源(DynamicResource)

简介: WPF 静态资源(StaticResource)和动态资源(DynamicResource)

静态资源( StaticResource )指的是在程序载入内存时对资源的一次性使用,之后就不再访问这个资源了;

动态资源(DynamicResource)使用指的是在程序运行过程中然会去访问资源。

简单的可以理解为,如果换皮肤而不重启程序,就需要用 DynamicResource

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
        mc:Ignorable="d"
        Title="MainWindow" Height="450" Width="800">
    <Window.Resources>
        <SolidColorBrush x:Key="PrimaryColorBrush" Color="#FF2477F3"/>
    </Window.Resources>
    <Grid>
        <StackPanel>
            <Border Margin="10" Width="60" Height="60" Background="{StaticResource PrimaryColorBrush}"></Border>
            <Border Margin="10" Width="60" Height="60" Background="{DynamicResource PrimaryColorBrush}"></Border>
            <Button Margin="10" Width="60" Height="30" Content="Update" Click="Update_Click" />
        </StackPanel>
    </Grid>
</Window>

 

namespace WpfApp1
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        private void Update_Click(object sender, RoutedEventArgs e)
        { 
            this.Resources["PrimaryColorBrush"] = new SolidColorBrush(Colors.Red);
        }
    }
}

 

 

目录
打赏
0
0
0
0
54
分享
相关文章
WPF开发者必读:资源字典应用秘籍,轻松实现样式与模板共享,让你的WPF应用更上一层楼!
【8月更文挑战第31天】在WPF开发中,资源字典是一种强大的工具,用于共享样式、模板、图像等资源,提高了应用的可维护性和可扩展性。本文介绍了资源字典的基础知识、创建方法及最佳实践,并通过示例展示了如何在项目中有效利用资源字典,实现资源的重用和动态绑定。
195 0
|
10月前
|
C#
浅谈WPF之样式与资源
WPF通过样式,不仅可以方便的设置控件元素的展示方式,给用户呈现多样化的体验,还简化配置,避免重复设置元素的属性,以达到节约成本,提高工作效率的目的,样式也是资源的一种表现形式。本文以一个简单的小例子,简述如何设置WPF的样式以及资源的应用,仅供学习分享使用,如有不足之处,还请指正。
198 0
WPF界面无法正常显示(资源引用,如转换器),但程序正常运行
WPF界面无法正常显示(资源引用,如转换器),但程序正常运行
WPF界面无法正常显示(资源引用,如转换器),但程序正常运行
WPF中的一个bug造成CPU资源拉满
WPF中的一个bug造成CPU资源拉满
230 0
WPF资源字典怎么用
资源字典的使用方法
260 0
WPF资源字典怎么用
WPF 为资源字典 添加事件响应的后台类
原文:WPF 为资源字典 添加事件响应的后台类 前言,有许多同学在写WPF程序时在资源字典里加入了其它控件,但又想写事件来控制这个控件,但是资源字典没有CS文件,不像窗体XAML还有一个后台的CS文件,怎么办呢? 在工作时也遇到了这个问题,现在把它分享出来 比如说我们现在要写一个TabControl控件,在TabItem中有一个关闭按钮或其它按钮,这个按钮要能响应某个事件。
1724 0
WPF中的资源(一) - 静态资源和动态资源
原文:WPF中的资源(一) - 静态资源和动态资源 WPF中,每个界面元素都含有一个名为Resources的属性,其存储的是以“键-值”对形式存在的资源,而其子级元素在使用这些资源时会从Resources中找到这些资源。
1196 0
WPF中的资源(二) - 二进制资源
原文:WPF中的资源(二) - 二进制资源 WPF中的二进制资源,就是类似于MFC中在对话框程序中添加的图片、字符串等资源,程序在运行时将其转换成二进制,以供程序使用。
703 0
WPF 资源(StaticResource 静态资源、DynamicResource 动态资源、添加二进制资源、绑定资源树)
原文:WPF 资源(StaticResource 静态资源、DynamicResource 动态资源、添加二进制资源、绑定资源树) 一、WPF对象级(Window对象)资源的定义与查找 实例一: StaticR...
8571 0
How do I duplicate a resource reference in code behind in WPF?如何在WPF后台代码中中复制引用的资源?
原文 https://stackoverflow.com/questions/28240528/how-do-i-duplicate-a-resource-reference-in-code-behind-in-wpf 如何在WPF后台代码中中复制引用的资源? In my application, I have a color resources.
851 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等