Приложения WPF, не зависящие от разрешения или размера монитора

как я могу разрабатывать приложения wpf, не зависящие от разрешения и размера монитора. Независимость от размера монитора означает, что здесь я разрабатываю приложения wpf на 15-дюймовом мониторе, и когда я увижу эти приложения на 17-дюймовом мониторе, пользовательский интерфейс часто выглядит иначе, так как я могу избавиться от этой проблемы в WPF. пожалуйста, направьте подробно. Благодарность


person Thomas    schedule 04.02.2011    source источник
comment
Почему пользовательский интерфейс на большом мониторе выглядит иначе? Визуальные элементы с самого начала могут масштабироваться в зависимости от разрешения экрана пользователя. Для этого вам не нужны какие-либо причудливые функции WPF. Что именно вы замечаете?   -  person Cody Gray    schedule 04.02.2011
comment
Ответ не зависит от разрешения ниже. Независимо от размера монитора сделать будет довольно сложно. Как ваша программа может узнать, какой у подключенного монитора с разрешением 1024x768 - 15 или 24? Сама ОС могла этого даже не знать.   -  person Øyvind Bråthen    schedule 04.02.2011


Ответы (3)


Вы ищете Liquid Layout в WPF.

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

Конечно, MinWidth, MaxWidth и MinHeight, MaxHeight также полезны для ограничения размера.

Ссылка:

person decyclone    schedule 04.02.2011

Это довольно сложный вопрос. По сути, WPF был создан, чтобы позволить создавать приложения, не зависящие от разрешения. Например, все значения (ширина, высота и т. Д.) Находятся в Device Independent Pixels, где каждая точка составляет 1/96 дюйма (что соответствует одному пикселю на точку для монитора с DPI, установленным на 96).

Но, конечно, это не позволит вам создавать полностью независимые от устройства приложения. Здесь вам нужно помнить об использовании соответствующих механизмов компоновки, таких как использование DockPanel, StackPanel или Grid, а не Canvas. Ваши элементы управления должны быть настроены так, чтобы заполнять все доступное пространство (HorizontalAlignment установлено на Stretch), только некоторые должны иметь Width или Height явно заданные.

Это довольно большая тема, хорошие практики, которые позволят вам достичь вашей цели, распространены в Интернете и книгах, вероятно, никто не сможет изложить ее здесь в краткой версии.

person Jarek    schedule 04.02.2011

Если DPI для системного дисплея установлен правильно, WPF должен соответствующим образом масштабировать интерфейс.

person Lazarus    schedule 04.02.2011
comment
@Thomas: Теперь, когда я думаю об этом, я не думаю, что действительно понимаю, о чем вы просите. Итак, вы хотите, чтобы ваши кнопки, которые кажутся, например, 10% ширины вашего экрана, всегда составляли 10% ширины дисплея, или вы хотите, чтобы они всегда были одинаковой физической ширины, то есть 1 дюйм? - person Lazarus; 04.02.2011