Применение темы MahApps.Metro Dark

Я относительно новичок в 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 в исходном коде?


person Chathuranga Chandrasekara    schedule 26.01.2014    source источник
comment
Вы можете создать поведение для достижения этого. Обратитесь к этому - svetoslavsavov.blogspot.in/2009/ 07/   -  person Rohit Vats    schedule 26.01.2014
comment
@RohitVats: Как мне найти доступные варианты и пути? Через обозреватель объектов?   -  person Chathuranga Chandrasekara    schedule 26.01.2014


Ответы (1)


Попробуйте использовать 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 введите здесь описание изображения

person har07    schedule 26.01.2014
comment
Отлично! Спасибо большое. Это тот, о котором я думал? Но еще один вопрос. Как получить доступный список акцентов? :-) - person Chathuranga Chandrasekara; 26.01.2014
comment
ну, я подозреваю, что акценты - это часть, которая еще не задокументирована (нигде не могу найти документацию об этом). Но вы можете получить список акцентов, заглянув в источник здесь< /а> - person har07; 26.01.2014
comment
И одно интересное наблюдение. Я создаю новое окно из родительского окна. новое дочернее окно (). Показать (). Тема была применена, но я вижу, что строка заголовка не в стиле Metro. Все контроллеры находятся в Метро. Я расследую это. Любая подсказка? - person Chathuranga Chandrasekara; 26.01.2014
comment
Нашел ошибку. Глупый. Я забыл добавить тег Controls:MetroWindow. Принятие ответа. - person Chathuranga Chandrasekara; 26.01.2014