Изменение темы MahApps Metro

Я знаю, что тема метро MahApps поставляется с «темами» (наборами цветов), но я не знаю, как изменить их настройки по умолчанию в моем приложении WPF.

Я следовал руководству для начинающих в Документация MahApps.Metro (включая добавление библиотек ресурсов в верхней части page), но не упоминает об изменении темы.

В файле component/Styles/Colours.xaml есть комментарий «из пакета тем Cosmopolitan», который может быть полезной подсказкой для тех, кто лучше меня разбирается в дизайне WPF.

Я говорю об изменении темы для всего приложения, а не об отдельном элементе управления.


person gbmhunter    schedule 10.04.2013    source источник


Ответы (1)


Если вы хотите изменить цветовую схему по умолчанию, просто измените загружаемый файл цветового ресурса.

от синего:

    <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Blue.xaml" />

к красному:

    <ResourceDictionary Source="pack://application:,,,/MahApps.Metro;component/Styles/Accents/Red.xaml" />

Вы также можете изменить программно (после загрузки каждого файла цветового ресурса) с помощью ThemeManager.ChangeTheme().

person Rich    schedule 12.04.2013
comment
Спасибо! Кроме того, я обнаружил, что базовую тему (которая определяет большую часть цветовой схемы, файл, который вы упомянули, просто изменяет акценты/выделения) можно изменить с помощью /Accents/BaseLight.xml или BaseDark.xml. - person gbmhunter; 16.04.2013
comment
Где находятся эти файлы? Я загрузил MahApps из диспетчера пакетов и вижу файл .dll, но не могу найти эти файлы xaml для редактирования. - person Bishop; 19.06.2013
comment
Я думаю, что они просто связаны внутри dll. Источник находится по адресу: github.com/MahApps/MahApps. .Metro/tree/master/MahApps.Metro/ - person Rich; 20.06.2013
comment
@Rich Пожалуйста, если мне нужно внести подобные незначительные изменения в стили MahApps по умолчанию, означает ли это, что мне нужно отредактировать соответствующий файл xaml MahApps, а затем перекомпилировать dll? - person Damilola Olowookere; 19.11.2014
comment
Я бы предположил, что да. Вы также можете использовать собственный стиль, основанный на стиле MahApps, например. ‹Style TargetType=TabItem BasedOn={StaticResource MetroTabItem} x:Key=MetroLightTabItem› - person Rich; 19.11.2014
comment
@Rich Можем ли мы добавить нашу собственную цветовую тему без перекомпиляции какой-либо dll? РЕДАКТИРОВАТЬ: неважно, ответ - да - я нашел файлы XAML на GitHub, создал свой собственный словарь ресурсов и добавил его в объединенные словари. - person erotavlas; 11.12.2014