应用MahApps.Metro Dark主题

时间:2014-01-26 11:46:37

标签: c# .net wpf xaml mahapps.metro

我对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的情况下指导我如何做到这一点吗?

1 个答案:

答案 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 enter image description here Baselight来 enter image description here