これは、リソース ディクショナリでスタイルを定義することで実現できます。たとえば、ボタンに 2 種類の外観 (テーマ 1 とテーマ 2 など) が必要な場合、リソース ディクショナリごとにボタンの異なるスタイルが含まれるように 2 つのリソース ディクショナリを作成します。次に、ボタンのスタイルを次のようにバインドします
<Button Style = {DynamicResource ButtonStyle} Height =23 Width = 70/>
ここで、ButtonStyle は、リソース ディクショナリで定義されたスタイルのキーです。ユーザーが theme1 をクリックします。
System.Windows.Application.Current.Resources.MergedDictionaries.Clear();
System.Windows.Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary { Source = new Uri("/ProjectName;component/theme1.xaml", UriKind.RelativeOrAbsolute) });
そしてユーザーがtheme2をクリックします
System.Windows.Application.Current.Resources.MergedDictionaries.Clear();
System.Windows.Application.Current.Resources.MergedDictionaries.Add(new ResourceDictionary { Source = new Uri("/ProjectName;component/theme2.xaml", UriKind.RelativeOrAbsolute) });
お役に立てれば..