【发布时间】:2015-12-20 23:11:55
【问题描述】:
我已经尝试了一天,但无济于事,在主题中创建一堆画笔,然后在自定义控件中将它们与 DynamicResource 一起使用。我做的是这样的:
- 创建包含样式(作品)的主题 generic.xaml
- 在 generic.xaml 中添加要合并的字典,以包含应用程序中使用的画笔(作品)
- 使画笔具有 ComponentResourceKey 键(有效)
- 使控件使用画笔作为静态资源(有效)
- 使控件使用画笔作为动态资源(不工作,资源跟踪源说明:System.Windows.ResourceDictionary 警告:9:找不到资源;)
- 在 App.Resources 中动态添加具有相同键的画笔(适用于动态资源,它会更改颜色,不适用于静态资源,正如预期的那样)
所以我的问题是我找不到任何方法来定义主题中的默认值,以便我可以在应用程序中以编程方式更改它们。 StaticResource怎么能找到画笔而DynamicResource找不到?!
我必须补充一点,我创建了一个静态类,将组件资源键作为属性保存,然后在 xaml 中用作 {x:Static UI:ResourceScheme.ControlBackgroundKey}。我的问题似乎与这个类似:ComponentResourceKey as DynamicResource problem 只是如果我将静态属性键替换为组件资源键的 XAML 标记,它仍然不起作用。
有人可以帮我吗? :(
【问题讨论】:
标签: wpf xaml themes dynamicresource componentresourcekey