Как сменить тему в приложении WPF???
Как вручную сменить тему в приложении WPF, (например с Aero на Royal) игнарируя настройки ОС ?
Чтобы форсированно загрузить тему можно использовать такой подход:
(на основе C#)
Uri uri = new Uri("PresentationFramework.Aero;V3.0.0.0;31bf3856ad364e35;component\\themes/aero.normalcolor.xaml", UriKind.Relative);
Resources.MergedDictionaries.Add(Application.LoadComponent(uri) as ResourceDictionary);
Обратите внимание, что необходимо точно указать версию и ключ, иначе придется скопировать библиотеки темы в папку с exe-файлом
Вот, есть еще один способ на базе XAML - особенно полезен для тандема Windows XP / Zune Theme которая вызывает сброс темы в приложени
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="/PresentationFramework.Aero;V3.0.0.0;31bf3856ad364e35;component\themes/aero.normalcolor.xaml" />
</ResourceDictionary.MergedDictionaries>
<!-- другие ресурсы-->
</ResourceDictionary>
</Application.Resources>
При возникновении проблем с Orcas нужно использовать абсолютный а не относительный URI
Огромное спасибо!!!