我正在编写几个需要共享和单独资源的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>
我看了ResourceDictionary.MergedDictionaries,但这只允许我合并多个外部词典,而不能在本地定义更多资源。
我一定缺少一些琐碎的东西吗?
应该提到的是:我将用户控件托管在WinForms项目中,因此将共享资源放入App.xaml并不是一个真正的选择。