Есть ли WPF equaivalent к Системе. Windows. Формы. Экран?

Я пытаюсь создать окно WPF, которое охватит всю Настольную рабочую область. В WinForms я сделал бы это путем вкладывания Объединения всех границ System.Windows.Forms.Screen.AllScreens.

Существует ли эквивалентный тип или другой механизм для получения границ всего рабочего стола в WPF, или я должен использовать тип WinForms?

17
задан ChrisF 24 April 2010 в 16:03
поделиться

3 ответа

Попробуйте свойства SystemParameters.VirtualScreen* (Top, Left, Height и Width). http://msdn.microsoft.com/en-us/library/system.windows.systemparameters.virtualscreenheight(v=VS.100).aspx

Не используйте winforms api, потому что он не учитывает тот факт, что единицы измерения WPF - не пиксели. Я столкнулся с этой проблемой совсем недавно, потому что я теряю зрение, и мой монитор настроен на более высокий dpi. Кодовая база, над которой я работал, использовала настройки Winforms, и пользовательский интерфейс был больше, чем мой экран.

Если вы собираетесь использовать winforms api. Посмотрите в этом блоге статью о вычислении коэффициента DPI.

14
ответ дан 30 November 2019 в 13:04
поделиться

Просто используйте WinForms. Я не думаю, что существует прямой эквивалент WPF.

4
ответ дан 30 November 2019 в 13:04
поделиться

Вы можно попробовать SystemParameters.VirtualScreenWidth и связанные параметры. Это может не дать такого хорошего результата, как продолжение использования WinForms API.

Единственный недостаток типа WinForms, который я вижу, - это дополнительная зависимость и связанный с ней больший рабочий набор.

1
ответ дан 30 November 2019 в 13:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: