Замеченные различные примеры приложений WPF я видел использование Grid
управление почти для чего-либо, даже самых простых вещей только с 1 столбцом или строки.
Кроме того, шаблоны WPF запускаются с пустой сетки.
Для меня, с помощью StackPanel
или DockPanel
является менее подробным и являются лучше для обслуживания (думайте, добавив строку позже и имея необходимость добавить +1 ко всем другим строкам),
Почему Grid
лучше или что я пропускаю?
Я думаю, что часть причины, по которой Grid является элементом по умолчанию, заключается в том, что он (немного) более удобен для дизайнеров.
В Grid нет ограничений на размещение нескольких элементов в одной "ячейке" Grid, что позволяет дизайнеру со свободным размещением иметь такую же гибкость, как и в Canvas, но при этом иметь возможности автоматической компоновки, которые содержит Grid (и другие более приятные элементы управления компоновкой, такие как StackPanel и DockPanel).
Два слова: размер звезды. Сетка
позволяет изменять размер содержимого в соответствии с пространством, в котором оно содержится, без явного указания размера контейнера. На панели управления нет.
Я обнаружил, что для более сложных окон легче разбить их на функциональные области, которые довольно независимы (движение и размер) от других . Сетки позволяют этим областям сосуществовать на одной панели и позволяют размещать их независимо от того, где находятся другие элементы управления (в некоторой степени).
Например, в проекте, над которым я сейчас работаю , у меня есть окно, которое будет менеджером по доставке. Мне нужны три представления списка (Отгрузки, Пакеты, Предметы). У меня есть элемент управления сеткой с двумя столбцами; один со списком пакетов и разделителем сетки, другой со вложенной сеткой с двумя другими списками и разделителем сетки.
Я видел, как многие дизайнеры разбивали свое окно на такие области, и делать это с чем-либо, кроме сетки, просто не работает, поскольку нет скрытых «ячеек», в которых косвенно живут элементы. Довольно много окон программ возьмите этот дизайн, и поэтому я думаю, когда они собрались на встречу и спросили, какой должна быть панель контейнера по умолчанию, выбор был основан на сетке.
Кори
ничего не пропало. У меня довольно много сеток в моем приложении (ах), но не обязательно в качестве элемента верхнего уровня и определенно не в той степени, которую вы описываете.
Может быть, многие люди просто не понимают, что могут удалить исходную сетку, и вместо этого они помещают свой собственный контроль в сетку.