这是场景:
1)打开Visual Studio 2008,创建新项目......
2)选择WPF Custom Control Library作为项目类型
3)打开位于Themes文件夹中的Generic.xaml资源字典
4)添加一个简单的画笔,如:
< SolidColorBrush x:Key="BackgroundBrush" Color="Yellow" / >
5)从中更改嵌套Borer控件的Background属性
Background=""
至
Background=""
现在,当您在任何项目中编译和使用此控件时,背景将不会为黄色 . 但是,如果您将background属性更改为StaticResource
Background=""
......它会起作用 . 为什么是这样?为什么StaticResource工作但不是DynamicResource?
1 回答
如果你在Xaml文件中对画笔进行硬编码,那对我来说听起来很不稳定 .
DynamicResource的MSDN条目说这是用于在运行时使用解析资源名称的时候(即名称存储在另一个资源中),您在编译时知道该名称 .
听起来非常像一个指针,指针指向C的指针 .