WPF: разместить элементы формы на холсте или сетке? - PullRequest
0 голосов
/ 01 марта 2011

Я предпочитаю перетаскивать элементы управления на холсте с помощью визуального дизайнера студии, чтобы каждый элемент управления имел координаты x и y. Я нахожу это намного быстрее, чем с помощью сетки. Но я все еще вижу множество статей, в которых используется сетка для размещения элементов управления, так что каждый элемент управления имеет строку, столбец. Что вы думаете об этом, мой подход не так?

Ответы [ 5 ]

2 голосов
/ 01 марта 2011

Используя холст, гораздо сложнее правильно изменить размер всего, другие элементы управления изменят размер автоматически (если не фиксированный размер курса)

1 голос
/ 01 марта 2011

Стандартное руководство от MS - избегать использования Canvas для размещения элементов управления.

Цитата из документации MSDN Canvas:

Canvas - единственный элемент панели, который не имеет внутренней компоновки характеристики. Холст имеет по умолчанию Свойства высоты и ширины нуля, если это не дочерний элемент который автоматически определяет размеры своего потомка элементы. Дочерние элементы холста никогда не меняются, они просто расположены по назначению координаты. Это обеспечивает гибкость для ситуаций, в которых присуще ограничения размера или выравнивания не нужен или хотел. Для случаев в который вы хотите, чтобы дочерний контент был автоматически изменяется и выравнивается, это обычно лучше всего использовать элемент Grid.

Итак, я бы взял это, чтобы означать, что в большинстве ситуаций вы не захотите использовать Canvas, а вместо этого использовать Grid (или другую панель) для хранения ваших различных дочерних элементов пользовательского интерфейса. Лично я нахожу Решётку достаточной для большинства нужд.

Ссылки:

Холст - http://msdn.microsoft.com/en-us/library/system.windows.controls.canvas.aspx

Глобализация и локализация - http://msdn.microsoft.com/en-us/library/ms788718.aspx

1 голос
/ 01 марта 2011

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

Проверьте простые в использовании контейнеры третьей части, такие как autogrid .

0 голосов
/ 01 марта 2011

Это неправильно, потому что WPF поддерживает другие альтернативные направления чтения. Если локализация изменяется, для WPF невозможно переназначить координаты X / Y, но в сетках и стековых панелях логическое расположение может быть инвертировано / изменено.

Очень редко хорошо позиционировать элементы

0 голосов
/ 01 марта 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...