原文:DynamicResource与StaticResource的区别

2008-06-20 12:16:12
静态资源在第一次编译后即确定其对象或值,之后不能对其进行修改。动态资源则是在运行时决定,当运行过程中真正需要时,才到资源目标中查找其值。引用动态资源时,当被引用的动态资源发生变化时,引用这个资源的相应属性会自动跟着变化。

先看看这段XAML代码:
// LinearGradientBrush.xaml
<Window x:Class="BrawDraw.Com.LinearGradientBrush.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="LinearGradientBrush" Height="300" Width="300">
    <Canvas Background="{DynamicResource innerLgbResource}">
        <Canvas.Resources>
                <LinearGradientBrush StartPoint="0,0" EndPoint="0,1" x:Key="innerLgbResource">
                    <GradientStop Color="Yellow" Offset="0.0" />
                    <GradientStop Color="Orange" Offset="0.5" />
                    <GradientStop Color="Red" Offset="1" />
                </LinearGradientBrush>
        </Canvas.Resources>
    </Canvas>
</Window>
注意:innerLgbResource是基于Yellow, Orange, Red三种颜色的渐变。

注意XAML代码中的这句:<Canvas Background="{DynamicResource innerLgbResource}">,Canvas的背景使用了动态资源。
如果你将它改为<Canvas Background="{StaticResource innerLgbResource}">,将会收到错误提示:“StaticResource reference 'innerLgbResource' was not found.”
出现此问题的原因是:StaticResource 查询行为不支持向后引用,即不能引用在引用点之后才定义的资源
DynamicResource可以向后引用,即DynamicResource运行时才查找并加载所定义的资源。

最新文章

  1. View的滑动
  2. JavaScript利用replace更改所有符合条件字符
  3. top命令
  4. linux 程序管理与SElinux
  5. 【Java每日一题】20161024
  6. 滑动listview隐藏和显示顶部布局
  7. ios中通知的简单使用
  8. 17+个ASP.NET MVC扩展点,含源码{转}
  9. Excel合并单元格数据
  10. 庖丁解牛FPPopover
  11. RDLC报表系列(五) 简单的图表-柱状图
  12. 向php提交数据及json
  13. [转]ORACLE递归查询
  14. js中valueOf方法的使用
  15. js setTimeout setInterval 第三个参数说明
  16. python学习笔记(七)---编辑器pycharm的安装
  17. 用python写桌面天气预报,自己的学习曲线。
  18. Wcf调用方式
  19. RMQ问题心得
  20. java继承如何理解呢??

热门文章

  1. Redis相关命令及Jedis的demo(转)
  2. 值得关注的10个python语言博客(转)
  3. html + CSS
  4. 《代码的第一行——Android》封面诞生
  5. LinkedBlockingQueue多线程测试
  6. AspNet.WebAPI.OData.ODataPQ
  7. jquery.validate1.13
  8. C# 一个WCF简单实例
  9. HDU 2616 Kill the monster (暴力搜索 || 终极全阵列暴力)
  10. Eclipse部署Web项目(图文讲解)