Вопрос

Видел различные примеры приложений WPF, я видел использование Grid управляйте практически чем угодно, даже простейшими вещами, содержащими всего 1 столбец или строку.

Кроме того, шаблоны WPF начинаются с пустой сетки.

Для меня, используя StackPanel или DockPanel является менее подробным и лучше подходит для обслуживания (подумайте о добавлении строки позже и необходимости добавлять + 1 ко всем остальным строкам)

Почему это Grid лучше или чего мне не хватает?

Это было полезно?

Решение

Я думаю, что одна из причин того, что Grid является элементом по умолчанию, заключается в том, что он (немного) более удобен для дизайнеров.

При использовании Grid нет ограничений на наличие нескольких элементов в одной «ячейке» Grid, что позволяет дизайнеру со свободным размещением иметь ту же гибкость, что и Canvas, но при этом иметь возможности автоматической компоновки, которые Grid (и другие более приятные элементы управления макетом, такие как StackPanel и DockPanel).

Другие советы

Два слова:Размер звезды.Тот самый Grid позволяет изменять размер содержимого в соответствии с пространством, которое его содержит, без явного указания размера контейнера.Элементы управления на панели - нет.

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

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

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

Например, в проекте я работаю прямо сейчас, у меня есть окно, которое будет менеджером доставки.Мне нужны три представления списка (Отгрузки, Пакеты, Товары). У меня есть элемент управления сеткой с двумя столбцами;один со списком пакетов и разделителем сетки, другой со вложенной сеткой с двумя другими списками и разделителем сетки.

я видел, как многие дизайнеры разбивали свое окно на такие области, и делать это с чем-либо, кроме сетки, просто не работает, поскольку нет дискретных «ячеек», в которых косвенно живут элементы.Многие окна программ используют этот дизайн, и поэтому, я думаю, когда они провели встречу и спросили, какой должна быть панель-контейнер по умолчанию, выбор пал на сетку, основанную на этом факте.

Кори

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top