J'écris plusieurs contrôles utilisateur WPF qui ont besoin de ressources partagées et individuelles.
J'ai trouvé la syntaxe pour charger des ressources à partir d'un fichier de ressources séparé :
<UserControl.Resources>
<ResourceDictionary Source="ViewResources.xaml" />
</UserControl.Resources>
Toutefois, lorsque je fais cela, je ne peux pas ajouter de ressources localement, par exemple :
<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>
J'ai jeté un coup d'œil à ResourceDictionary.MergedDictionaries, mais cela ne me permet que de fusionner plus d'un dictionnaire externe, et non de définir d'autres ressources localement.
Je dois manquer quelque chose d'insignifiant ?
Il faut le mentionner : J'héberge mes contrôles utilisateur dans un projet WinForms, donc mettre des ressources partagées dans App.xaml n'est pas vraiment une option.