应用MahApps.Metro Dark主题

Cha*_*ara 10 .net c# 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>
Run Code Online (Sandbox Code Playgroud)

现在我想将主题改为黑暗.我明白我总是可以用,

ThemeManager.ChangeTheme()

但我相信应该有一种方法可以使用XAML对应用程序的所有窗口都有效.

我的问题: 如果不在源代码中使用ThemeManager,有人能指出我如何做到这一点吗?

har*_*r07 20

尝试使用BaseDark而不是BaseLight.尝试更改此行:

<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseLight.xaml" />
Run Code Online (Sandbox Code Playgroud)

对此:

<ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/BaseDark.xaml" />
Run Code Online (Sandbox Code Playgroud)

这对我有用.使用MahApps BaseDark和BaseLight重音的我的应用程序的屏幕截图:

BaseDark 在此输入图像描述 Baselight来 在此输入图像描述