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

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

<Button Click="Button_Click" Background="{DynamicResource

Theme1}" />

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

  1. <VisualBrush x:Key="Theme1">
  2. <VisualBrush.Visual>
  3. <Viewbox Width="1920" Height="1080">
  4. <Canvas x:Name="PART_Canvas" Width="1920" Height="1080">
  5. <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">
  6. <Path.Fill>
  7. <LinearGradientBrush MappingMode="Absolute" StartPoint="959.917,-1324.218" EndPoint="959.916,-55.456">
  8. <LinearGradientBrush.GradientStops>
  9. <GradientStop Offset="0.00" Color="#ff5090cd"/>
  10. <GradientStop Offset="0.66" Color="#ff5090cd"/>
  11. <GradientStop Offset="0.76" Color="#ff5090cd"/>
  12. <GradientStop Offset="0.95" Color="#ff287bbf"/>
  13. <GradientStop Offset="1.00" Color="#ff0067b1"/>
  14. </LinearGradientBrush.GradientStops>
  15. <LinearGradientBrush.Transform>
  16. <MatrixTransform Matrix="1.000,0.000,-0.000,-1.000,0.084,0.631" />
  17. </LinearGradientBrush.Transform>
  18. </LinearGradientBrush>
  19. </Path.Fill>
  20. </Path>
  1. </Canvas></ViewBox></VisualBrush.Visual></VisualBrush>
  1.  

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

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

WPF 用代码调用dynamic resource动态更改背景 - CSDN博客的更多相关文章

  1. 博客地址更改为csdn博客:https://blog.csdn.net/zysps1

    由于博客园不支持markdown的数学公式等语法,有时分享不方便,特更改阵地为csdn:https://blog.csdn.net/zysps1

  2. 使用代码将github仓库里某个issue同步到CSDN博客上

    我是一个懒惰的程序员.我在github仓库里用issue的方式写了很多分享文章,想同步到CSDN上.但是我又不想一篇篇手动复制粘贴,因此想用代码来实现自动化. 例子: https://github.c ...

  3. Dynamic Resource – 动态资源

      Dynamic Resource – 动态资源 与Static Resource不同的是,Dynamic Resource可以在程序运行时重新评估/计算资源来生成对应的对象/值,它支持向前引用,只 ...

  4. WPF编程,通过Double Animation动态更改控件属性的一种方法。

    原文:WPF编程,通过Double Animation动态更改控件属性的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/a ...

  5. WPF X:Shared概述 - CSDN博客

    原文:WPF X:Shared概述 - CSDN博客 一.含义 X:Shared用于指定请求资源时创建实例的两种方式. X:Shared = "true"(默认):表示所有请求都是 ...

  6. CSDN博客添加量子恒道统计代码步骤

    CSDN博客添加量子恒道统计代码步骤. 1. 去量子恒道网站统计 注册账户: 2. 添加已有的CSDN博客地址: 3. 添加博客后恒道代码里面会给你一个JavaScript脚本,记下里面的一串数字: ...

  7. 解决CSDN博客插入代码出现的问题

    我在写CSDN博客的时候有时候会在插入代码之后继续编辑,然后保存之后经常会出现一些多余的符号<p 例如<pre></pre>,这样的标记,其实这是html的一个元素,pr ...

  8. vue项目中,无需打包而动态更改背景图以及标题

    1.背景 今天,项目经理对已完成的项目提出了一个需求,即项目的基础功能目前针对于各个基层法院都适用,而对于不同的法院,我们每次都需要前端研发来更改所属法院的法院名称以及背景图,这样对于演示者来说是非常 ...

  9. [置顶] 如何更改CSDN博客高亮代码皮肤的样式,使博客看起来更有范(推荐)

    由于本人写博客的时候,也没有配置博客的相关属性,因此贴出来的代码块都是CSDN默认的,因此代码背景色都是白色的,如下所示: 但是本人在浏览他人博客的时候,发现有些博客的代码块看起来比较有范,整个代码库 ...

随机推荐

  1. RandomStringUtils RandomUtils

    上一篇是StringUtils 链接http://www.cnblogs.com/tele-share/p/8060129.html 1.RandomStringUtils 1.1模拟实现random ...

  2. 日志报错Can't add self as subview

    #pragma mark- add 20151112 导航动画时间太短导致崩溃,重写UINavigationcontroller以下相关方法 - (id)navigationLock; ///< ...

  3. 前端切图:手机端自适应布局demo

    手机端自适应布局demo原型如下: 图片发自简书App 要求如下:适应各种机型源码如下: <!DOCTYPE html > <html> <head> <me ...

  4. TensorFlow 实现深度神经网络 —— Denoising Autoencoder

    完整代码请见 models/DenoisingAutoencoder.py at master · tensorflow/models · GitHub: 1. Denoising Autoencod ...

  5. java及jdbc与sql之间日期的转换

    javaSE中主要为日期字符串和日期对象之间的转换 JDBC中主要是util中Date与sql中作为数据库中Date的转换 public class DateDemo { public static ...

  6. sql server中查询结果集顺序问题

    因为优化器可能会选择并行处理,或者在多文件情况下不按“期待”顺序扫描数据,所以无法保证数据的顺序.唯一能确保顺序的只有order by. 并行处理的过程导致顺序不一致,单核上不存在并行,而双核,可能使 ...

  7. TensorFlow 学习(七) — 常用函数 api、tf.nn 库

    0. 四则运算 平方:tf.square(),开方:tf.sqrt() tf.add().tf.sub().tf.mul().tf.div().tf.mod().tf.abs().tf.neg() 1 ...

  8. Android菜鸟的成长笔记(22)——Android进程间传递复杂数据(AIDL)

    在上一篇中介绍了Andorid中的进程间的通信方式AIDL,本篇文章将介绍传递复杂数据的AIDL Service 下面通过一个示例说明: 本例子中用到了两个自定义类型:Person与Pet, 其中Pe ...

  9. Windows 7 X64位平台下,VC6调试运行程序,中断调试无法退出

    用VC6在64位Windows7下调试的时候,如果中断(Shift+F5)调试,程序无法退出. 问题描述: 当点击F5开始一个项目的调试时,程序在设置的断点处停止,这时按下Shift+F5后,vc6可 ...

  10. 五笔字根--good

    https://gss0.baidu.com/94o3dSag_xI4khGko9WTAnF6hhy/zhidao/pic/item/4b90f603738da977b1b5ce57b251f8198 ...