Wpf 动态更改隐式样式
现在我在我的应用程序中有一些隐式样式的选项卡项。我想在我的应用程序中添加“夜间模式”并更改我的风格。我该怎么做呢?您可以使用合并词典来完成这项工作。将所有“普通”样式放入字典中,默认情况下将其添加到应用程序资源中:Wpf 动态更改隐式样式,wpf,xaml,styles,Wpf,Xaml,Styles,现在我在我的应用程序中有一些隐式样式的选项卡项。我想在我的应用程序中添加“夜间模式”并更改我的风格。我该怎么做呢?您可以使用合并词典来完成这项工作。将所有“普通”样式放入字典中,默认情况下将其添加到应用程序资源中: <Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <ResourceDic
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Styles/Normal.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
阿方索的想法是对的。。。 但你必须在WPF中这样做
App.Current.Resources.MergedDictionaries.Clear();
Uri uri = new Uri("/Resources/GlassButton5Night.xaml", UriKind.Relative);
var resDict = Application.LoadComponent(uri) as ResourceDictionary;
App.Current.Resources.MergedDictionaries.Add(resDict);
您必须确保在正确的级别重置合并词典XamlReader.Load不会将字符串作为arg。至少在4.0版抱歉,我从Silverlight项目中获取了该代码。在WPF中,它需要一个XmlReader,可以使用XmlReader.Create从流中构建它。