Страницы

Поиск по вопросам

суббота, 14 декабря 2019 г.

Отображение приложения на разных OS

#c_sharp #wpf #winforms


Есть ли какой то способ, для того что бы приложения на WinForms или WPF начиная с
XP и дальше до 10, выглядели одинаково? Есть иногда даже разница между 7 и 10 виндой.
    


Ответы

Ответ 1



Смотрите. Фреймворк WPF содержит несколько тем, каждая из которых соответствует определённому стилю UI. Эти темы содержатся в общедоступных сборках, и имеют название PresentationFramework.*.dll. Вы должны просто подключить эти темы в ваше приложение, и они будут применены. Например, если вы хотите, чтобы всё приложение имело стиль Aero, как в Windows 7, вы должны сделать следующее: (1) подключить в References сборку PresentationFramework.Aero.dll, и (2) подключить стили в вашем App.xaml: Аналогично, вы можете подключить сборку PresentationFramework.Classic.dll и стили чтобы получить визуальный стиль как в «классическом» стиле Windows XP (имитация Windows 2000). В PresentationFramework.Luna.dll есть несколько тем: — стандартная тема Windows XP, — тема XP Silver (Metallic), — зелёная тема XP Homestead. В PresentationFramework.Royale.dll — тема XP Media Center Edition и т. д. Если вы хотите вид как в Window 8/10, вам понадобится PresentationFramework.Aero2.dll и/или PresentationFramework.AeroLite.dll. Они доступны только на старших версиях Windows, так что для использования на младших вам придётся установить флажок CopyLocal и таскать сборки в комплекте. В них идёт по одной теме: и Вы можете, кстати, определять стили локально, тогда только этот кусок приложения будет соответствовать вашей теме. Например: PublicKeyToken, судя по всему, всегда один и тот же. Дополнительное чтение по теме: Как установить в WPF стиль Windows 7 на XP? Системная сборка с темой не находится во время выполнения Как правильно стилизовать собственные контролы, если приложение использует одну из системных тем?

Комментариев нет:

Отправить комментарий