ローカル マシンにあるリソース ディクショナリを使用する必要があります。私の WPF アプリケーションは、Add() または Remove() メソッドを使用して、そのディクショナリにアイテムを動的に追加/削除します。完了したら、更新されたリソース ディクショナリをディスクに再度保存する必要があります。
これに対する直接的な方法は見つかりません。ResurceDictionary.Save() のようなものはありますか?
XamlWriter
クラスを使用できます。
ボタンのテンプレートをファイルに書き込むコードは次のとおりです。
// Get the template.
ControlTemplate template = button.Template;
// Get the XAML for the template.
XmlWriterSettings settings = new XmlWriterSettings();
settings.Indent = true;
XmlWriter writer = XmlWriter.Create(@"c:\template.xaml", settings);
XamlWriter.Save(template, writer);
ResourceDictionary dic = Application.Current.Resources;
StreamWriter writer = new StreamWriter("Themes\\NewOne.xaml");
XamlWriter.Save(dic, writer);
writer.Close();