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