Подпишись на наш Twitter

Быть в курсе появления новых статей!

WPF использует flow-based разметку по умолчанию (например, StackPanel и Grid контейнеры), с coordinate-based разметкой как опциональной возможностью (например, Canvas).

На первый взгляд coordinate-based разметка кажется проще. Вы можете установить позицию и размер каждого контрола как вам хочется на ваш взгляд. Flow-based разметка может немного разочаровать во время того как вы пытаетесь организовать дочерние элементы как вам надо.

Но coordinate-based разметка имеет несколько ограничений:

  • Контролы выглядят поразному, в зависимости от разрешения экрана устройства (например, получаются маленькими при большом DPI на устройстве)
  • Если вы позволите изменять размер окна или любой части внутри GUI (например, разделитель (splitter)), вы получите много дополнительной работы по изменению размеров и позиций контролов после изменения размеров их контейнера
  • Контролы не могут автоматически изменять размер или позицию для приспосабливания в соответствии со своим содержимым
  • Контролы не могут автоматически изменять размер или позицию для приспосабливания под не Английский текст

Оригинал: #383 – The Problems with Coordinate-Based Layout




Дата публикации: 09.09.2011 21:46

Ярлыки: DPI, Layout, WPF