スタイリングにリソース ディクショナリを使用するアプリに取り組んでいます。構成設定で使用中の辞書を変更できるように変更する必要があります。
Original.xaml
、Neon.xaml
&の 3 つの辞書がありGraphite.xaml
ます。
App.xaml
:
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Resources/Original.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
次のように呼び出して、使用されている辞書を変更できます。
private void DynamicLoadStyles(string StyleToUse)
{
string fileName = "C:\\Data\\Projects\\MyApp\\MyApp\\Resources\\" +
StyleToUse + ".xaml";
using (FileStream fs = new FileStream(fileName, FileMode.Open))
{
ResourceDictionary dic = (ResourceDictionary)XamlReader.Load(fs);
Resources.MergedDictionaries.Clear();
Resources.MergedDictionaries.Add(dic);
}
}
すべてが期待どおりに機能します(ただし、これが正しい方法であるかどうかはわかりません)。問題は、ファイルを埋め込み、外部ファイルからロードする必要がないことです。
役立つ情報を検索しましたが、探している情報が見つかりません。つまり、私はWPFを初めて使用し(3週間)、まだ何をしているのかよくわかりません。
どんな助けでも大歓迎です。