WPF 用代码调用dynamic resource动态更改背景 - CSDN博客

简介: 原文:WPF 用代码调用dynamic resource动态更改背景 - CSDN博客 一般dynamic resoource通常在XAML里调用,如下范例: 如果在ResourceDictionary定义了很...
原文: WPF 用代码调用dynamic resource动态更改背景 - CSDN博客

一般dynamic resoource通常在XAML里调用,如下范例:

<Button Click="Button_Click" Background="{DynamicResource Theme1}" />

如果在ResourceDictionary定义了很多不同的背景,比如:

<VisualBrush x:Key="Theme1">
    <VisualBrush.Visual>
        <Viewbox Width="1920" Height="1080">
            <Canvas x:Name="PART_Canvas" Width="1920" Height="1080">               
                    <Path Data="F1 M 1920.000,1079.906 L 0.000,1080.000 L 0.000,0.094 L 1920.000,0.000 L 1920.000,1079.906 Z">
                        <Path.Fill>
                            <LinearGradientBrush MappingMode="Absolute" StartPoint="959.917,-1324.218" EndPoint="959.916,-55.456">
                                <LinearGradientBrush.GradientStops>
                                    <GradientStop Offset="0.00" Color="#ff5090cd"/>
                                    <GradientStop Offset="0.66" Color="#ff5090cd"/>
                                    <GradientStop Offset="0.76" Color="#ff5090cd"/>
                                    <GradientStop Offset="0.95" Color="#ff287bbf"/>
                                    <GradientStop Offset="1.00" Color="#ff0067b1"/>
                                </LinearGradientBrush.GradientStops>
                                <LinearGradientBrush.Transform>
                                    <MatrixTransform Matrix="1.000,0.000,-0.000,-1.000,0.084,0.631" />
                                </LinearGradientBrush.Transform>
                            </LinearGradientBrush>
                        </Path.Fill>
                    </Path>
</Canvas></ViewBox></VisualBrush.Visual></VisualBrush> 


就可以在codebehind里,用如下方式动态选择不同的背景:

this.btn.SetResourceReference(BackgroundProperty, "Theme1");


目录
相关文章
|
C# 数据格式 XML
WPF 资源(StaticResource 静态资源、DynamicResource 动态资源、添加二进制资源、绑定资源树)
原文:WPF 资源(StaticResource 静态资源、DynamicResource 动态资源、添加二进制资源、绑定资源树) 一、WPF对象级(Window对象)资源的定义与查找 实例一: StaticR...
8049 0
|
6月前
|
存储 安全 程序员
2000条你应知的WPF小姿势 基础篇<34-39 Unhandled Exceptions和Resource>
2000条你应知的WPF小姿势 基础篇<34-39 Unhandled Exceptions和Resource>
16 0
2000条你应知的WPF小姿势 基础篇<34-39 Unhandled Exceptions和Resource>
|
9月前
|
移动开发 开发框架 网络协议
WPF+ASP.NET SignalR实现动态折线图
WPF+ASP.NET SignalR实现动态折线图
82 0
|
11月前
|
C#
4.使用代码和未经编译的XAML创建WPF应用程序
4.使用代码和未经编译的XAML创建WPF应用程序
58 0
|
11月前
|
C# C++ Windows
3.只使用代码创建WPF应用程序
3.只使用代码创建WPF应用程序
81 0
|
IDE 编译器 C#
WPF实现强大的动态公式计算
数据库可以定义表不同列之间的计算公式,进行自动公式计算,但如何实现行上的动态公式计算呢?行由于可以动态扩展,在某些应用场景下将能很好的解决实际问题。本文就探讨一下如何在WPF中实现一种基于行字段的动态公式计算。
991 0
WPF实现强大的动态公式计算
|
C#
wpf 开发 -TextBox背景自定义-Decorator
首先在app.xaml文件的下面添加以下样式
1630 0
|
前端开发 C# 开发者
WPF MVVM 架构 Step By Step(2)(简单的三层架构示例及粘合代码GLUE code)
原文:WPF MVVM 架构 Step By Step(2)(简单的三层架构示例及粘合代码GLUE code)      我们第一步就是去了解三层架构和问题然后去看MVVM是怎么去解决这些问题的。      现在,感觉和事实是完全不同的两个东西。
1424 0
|
前端开发 C#
WPF MVVM 架构 Step By Step(4)(添加bindings - 完全去掉后台代码)
原文:WPF MVVM 架构 Step By Step(4)(添加bindings - 完全去掉后台代码)   之前的改进已经挺棒的,但是我们现在知道了后台代码的问题,那是否可能把后台代码全部去除呢?这时候就该WPF binding 和 commands 来做的事情了。
1136 0
|
前端开发 C# 开发者
WPF MVVM 架构 Step By Step(3)(把后台代码移到一个类中)
原文:WPF MVVM 架构 Step By Step(3)(把后台代码移到一个类中)   我觉得大部分开发者应该已经知道怎么去解决这个问题。一般都是把后台代码(GLUE code)移动到一个类库。这个类库用来代表UI的属性和行为。
1020 0