我对WPF比较陌生,我正在尝试将Windows Metro Dark主题应用到我的整个应用程序中。
我在Apps.xaml中使用了以下内容,我可以正确地看到Windows Metro Light主题。
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Controls.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Fonts.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Colors.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" />
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
现在我想将主题改为黑暗。我明白我总是可以使用,
ThemeManager.ChangeTheme()
但我相信应该有一种方法可以使用XAML对应用程序的所有窗口都有效。
我的问题:有人可以在不使用源代码中的ThemeManager的情况下指导我如何做到这一点吗?
答案 0 :(得分:19)
尝试使用BaseDark
代替BaseLight
。尝试更改此行:
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
到此:
<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseDark.xaml" />
这对我有用。使用MahApps BaseDark和BaseLight重音的我的应用程序的屏幕截图:
<强> BaseDark 强> 的 Baselight来强>