共有リソースと個別リソースの両方を必要とするいくつかの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に共有リソースを配置することは実際にはオプションではありません。