Опрос
Вы участвуете в программе Windows Insider?
Популярные новости
Обсуждаемые новости

1
Не в сети
Сообщений: 34
Благодарностей: 7
Предупреждений:
Из: Russia Rostov-on-Don
Род занятий: student,IT

Как вручную сменить тему в приложении WPF, (например с Aero на Royal) игнарируя настройки ОС ?

#127366   | 19.12.07 13:30
Не в сети
Сообщений: 384
Благодарностей: 9
Предупреждений:
Из: Russia Москва
Род занятий:

Чтобы форсированно загрузить тему можно использовать такой подход:

(на основе 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

Поблагодарили: chgena

#127541   | 21.12.07 15:52
Не в сети
Сообщений: 34
Благодарностей: 7
Предупреждений:
Из: Russia Rostov-on-Don
Род занятий: student,IT

Огромное спасибо!!!

#127646   | 23.12.07 18:32
Все права принадлежат © ms insider @thevista.ru, 2022
Сайт является источником уникальной информации о семействе операционных систем Windows и других продуктах Microsoft. Перепечатка материалов возможна только с разрешения редакции.
Работает на WMS 2.34 (Страница создана за 0.021 секунд (Общее время SQL: 0.008 секунд - SQL запросов: 61 - Среднее время SQL: 0.00013 секунд))
Top.Mail.Ru