#467 – Использование UniformGrid для равномерного распределения строк и колонок

Панель разметки UniformGrid похожа на Grid, тем что дочерние элементы располагаются в строках и колонках. Но разница с Grid в том:

  • Вы не указываете никакой информации о размерах для каждой строки и колонки
  • Все колонки одной ширины
  • Все строки одной высоты
  • Вы указываете желаемое количество строк и колонок
  • Вы не указываете строку и колонку для дочерних элементов

Дочерние элементы автоматически размещаются последовательно в ячейках грида. Каждая строка заполняется слева на право, начиная с первой строки.

Читать полностью »

06.01.2012

#454 – UseLayoutRounding против SnapsToDevicePixels

Класс UIElement имеет SnapsToDevicePixels свойство для контроля пиксельного выравнивания. Когда установлено в true для самого верхнего по уровню элемента, все дочерние элементы выравниваются по пиксельным границам, для избегания сглаживания (антиалиазинга).

В .NET 4.0, класс FrameworkElement получил свойство UseLayoutRounding, которое также предотвращает сглаживание (анитиалиасинг) выравниванием по аппаратным пикселям.

Читать полностью »

21.12.2011

#453 – Свойство UseLayoutRounding выравнивает части по пиксельным границам

Потому что WPF позиционирует GUI элементы используя машинно независимые единицы, маленькие GUI элементы могут выглядеть нечеткими при отображении за счет сглаживания (антиалиасинга).

Обратите внимание что края элементов Border немного размыты в примере ниже. Каждый элемент должен быть шириной в 2 на этом устройстве, но сглаживание приводит к нечеткости краев.

Читать полностью »

20.12.2011

#447 – Вы можете использовать преобразования разметки с DockPanel

Вы можете использовать LayoutTransform индивидуально для каждого дочернего элемента в контейнере DockPanel для масштабирования или поворота элементов.

В примере ниже у нас есть четыре контрола Label, каждый пристыкован к одной из сторон DockPanel. Надпись слева, сверху, справа используют LayoutTransform повернуть их наружу.

Читать полностью »

10.12.2011

#434 – Режим Canvas Layout в Blend

По умолчанию во время редактирования Grid в Blend отступы сохраняются, когда вы изменяете разметку Grid, но визуальное представление контролов может меняться. Это состояние называется режим сеточной разметки и индицируется маленькой иконкой в верхнем левом углу Grid в дизайн пространстве.

Читать полностью »

21.11.2011

#433 – Сохранение отступов во время редактирования Grid в Blend

Если у вас есть простой Grid 2x2 и вы используете для дизайнерское пространство Blend для размещения Button в Grid'е. Если поместить Button перетаскиванием, ее свойства Grid.Row и Grid.Column будут установлены соответственно и ее Margin будет установлен в соответствии с местом куда вы бросите кнопку.

Читать полностью »

18.11.2011

#429 – Свойства дочерних элементов которые влияют на разметку

Панели разметки, такие как StackPanel и Grid, служат контейнерами дочерним элементам, чей тип UIElement (В реальности большинство дочерних элементов наследуются от FrameworkElement в свою очередь наследуется от UIElement).

Панели разметки соблюдают значения следующих свойств их дочерних элементов. Все эти свойства определены в FrameworkElement.

Читать полностью »

15.11.2011

#428 – Прочие настройки Layout в Blend

Вы можете использовать окно настроек в Blend для установки любых свойств контрола расположенного в layout контейнере, включая layout зависимые свойства.

Для примера считаем, что имеем Grid содержащий пару контролов Button. Если нажать на одну из кнопок, то вы увидите ее свойства в окне свойств справа в интерфейсе дизайнера.

Читать полностью »

11.11.2011

#426 – Панели разметки имеют поля отступа

Обычно установка полей отступа элементов содержащихся внутри панели разметки делается для создания пустого пространства между различными элементами и созданием пустого пространства между элементом и краями панели.

Вот окно, содержащее Grid (бежевый фон), который содержит несколько контролов. Без установке полей отступа.

Читать полностью »

10.11.2011

#423 – Установка максимального Height и Width в Rows и Columns для Grid

Аналогично как вы устанавливаете минимум для ширины и высоты строки и колонки в Grid, вы можете установить максимум для высоты и ширины.

Вы можете установить максимум высоты строки в Grid используя свойство MaxHeight для элементы RowDefinition. Вы можете установить максимум ширины колонки, используя свойство MaxWidth для элементы ColumnDefinition.

Читать полностью »

04.11.2011