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