J'ai une application WPF simple que j'utilise pour expérimenter.Modification de ResourceDictionary n'affecte pas visiblement la fenêtre dans WPF
J'ai deux thèmes définis dans des fichiers xaml séparés, en changeant le xaml pour pointer vers eux a bien fonctionné. En passant, dans le xaml j'utilise un élément droit ResourceDictionary
, pas un ResourceDictionary.MergedDictionaries
. Je souhaite laisser l'utilisateur sélectionner le thème à utiliser, donc je réinitialise la propriété source dans le code derrière - mais alors que le débogueur me dit que j'ai réussi à définir la valeur, l'apparence des applications ne change pas. Alors, comment appliquez-vous avec succès un thème lors de l'exécution?
EDIT: Voici comment je déclarer mon « style » dans le XAML:
<Window x:Class="WpfUI.winMain">
<Window.Resources>
<ResourceDictionary Source="Themes\Blah.xaml"></ResourceDictionary>
</Window.Resources>
// The windows grid and other controls...
</Window>
Faire un nouveau ResourceDictionary (en code) et appeler ApplyTemplate() applique avec succès le thème/style - mais pas sur tous les contrôles. –