Как не указать тему для WPF и использовать тему ОС хоста? - PullRequest
6 голосов
/ 20 октября 2010

Есть ли способ вообще не указывать тему для WPF и просто разрешить ей по умолчанию использовать ОС?Я все еще неравнодушен к Winforms по этой причине.Приложения WinForm выглядят профессионально, легки на ногах и являются частью операционной системы, тогда как приложения WPF, включая VS 2010, кажутся тяжелыми.Более того, приложения WPF визуально несовместимы.Они похожи на веб-страницы, где каждый разработчик решает, каким должен быть размер элемента управления, а не оставляет его на усмотрение пользователя и операционной системы.Я предпочитаю следовать указаниям.

1 Ответ

2 голосов
/ 21 октября 2010

По умолчанию WPF запрашивает системные настройки, чтобы определить, какая тема Windows была выбрана.Затем он будет использовать тему WPF, которая должна близко соответствовать теме системы.Это обеспечит стили для свойств, таких как цвета, и шаблоны для общего вида (включая анимацию).Темы WPF включают в себя стили для всех встроенных элементов управления.

Имейте в виду, что в отличие от WinForms элементы управления WPF все создаются в WPF.В WinForms большинство элементов управления были созданы с использованием pInvoke и исходят из неуправляемого кода.

WinForms может гарантировать тот же внешний вид, что и ОС, поскольку элемент управления исходил от ОС.Хотя это было приятным побочным эффектом, недостатком было то, что вы были ограничены в своей способности взаимодействовать, расширять или изменять внешний вид элементов управления.

Встроенные темы WPF, разработанные для соответствия темам Windows, включают:

Windows Vista: themes\Aero.NormalColor.xaml
Windows XP: themes\Luna.NormalColor.xaml
Olive Green Windows XP: themes\Luna.Homestead.xaml
Silver Windows XP: themes\Luna.Metallic.xaml
Windows XP Media Center Edition 2005 and XP Tablet PC Edition 2005: themes\Royale.NormalColor.xaml
Windows Classic: themes\Classic.xaml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...