我正在开发一个使用资源字典进行样式设置的应用程序。我必须进行更改以启用配置设置来更改正在使用的字典。
我有三个字典:Original.xaml
, Neon.xaml
& 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 周),还不确定我在做什么。
任何帮助将不胜感激。