我正在编写几个 WPF 用户控件,它们需要共享和单独的资源。
我已经找出了从单独的资源文件加载资源的语法:
<UserControl.Resources>
<ResourceDictionary Source="ViewResources.xaml" />
</UserControl.Resources>
但是,当我这样做时,我也不能在本地添加资源,比如:
<UserControl.Resources>
<ResourceDictionary Source="ViewResources.xaml" />
<!-- Doesn't work: -->
<ControlTemplate x:Key="validationTemplate">
...
</ControlTemplate>
<style x:key="textBoxWithError" TargetType="{x:Type TextBox}">
...
</style>
...
</UserControl.Resources>
我看了一下资源词典。MergedDictionaries,但这只能让我合并多个外部字典,而不能在本地定义更多资源。
我一定是漏掉了什么细枝末节?
应该提到的是: 我在一个 WinForms 项目中托管我的用户控件,所以在 App.xaml 中放置共享资源实际上不是一个选项。