Ответ 1
Некоторые из наиболее часто используемых контейнеров:
Grid
StackPanel
DockPanel
WrapPanel
Canvas
См. также Обзор панелей MSDN.
В HTML общий контроль контейнера - это DIV. Он ничего не делает сам по себе, но это отличное место, чтобы повесить вещи.
Аналогично в WinForms общим элементом управления контейнером была панель. Опять же, это то, что я буду использовать в качестве держателя места для последующей загрузки других элементов управления.
Что я должен использовать для WPF?
Некоторые из наиболее часто используемых контейнеров:
Grid
StackPanel
DockPanel
WrapPanel
Canvas
См. также Обзор панелей MSDN.
Я думаю, что самое близкое к тому, что вы ищете, это ContentControl
. Он не имеет собственного макета и не имеет пользовательского интерфейса по умолчанию (если вы не заставляете его делать один или оба из них), но может принимать любой объект как его свойство Content
(WPF UIElement или иначе) и предоставлять любой пользовательский интерфейс для объекта CLR через DataTemplate
, присвоенный свойству ContentTemplate
. В этом отношении он обеспечивает хорошее место для ввода другого контента (например, div
в HTML). Он также является базовым классом для многих стандартных встроенных элементов управления: Button
, ListBoxItem
, UserControl
, Window
.
Панели WPF также не работают для заполнителей, потому что они не могут быть шаблонами или у детей установлены привязки, за исключением случаев, когда они содержатся в других элементах управления, которые обрабатывают связанный контент, например ItemsControl
- ItemsPresenter
- ItemsPanel
.