WPF: Что такое универсальный контейнерный контроль? - PullRequest
17 голосов
/ 25 января 2010

В HTML универсальный контейнерный элемент управления - это DIV. Он ничего не делает сам по себе, но это отличное место, чтобы повесить вещи.

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

Что я должен использовать для WPF?

Ответы [ 2 ]

24 голосов
/ 25 января 2010

Я думаю, что самая близкая вещь к тому, что вы ищете, это ContentControl.Он не имеет собственного макета и не имеет пользовательского интерфейса по умолчанию (если только вы не шаблонируете его для выполнения одного или обоих из них), но может принимать любой объект как его свойство Content (WPF UIElement или иначе) и предоставлять любой пользовательский интерфейс для объекта CLR.через DataTemplate, присвоенный его свойству ContentTemplate.В этом отношении он обеспечивает хорошее место для вставки другого контента (например, div в HTML).Также это базовый класс для многих стандартных встроенных элементов управления: Button, ListBoxItem, UserControl, Window.

Панели WPF не работают так же хорошо для заполнителейпотому что они не могут быть шаблонизированы или иметь дочерние элементы, заданные через привязки, за исключением случаев, когда они содержатся в других элементах управления, которые обрабатывают вставку связанного содержимого, например, отношения ItemsControl - ItemsPresenter - ItemsPanel.

17 голосов
/ 25 января 2010

Некоторые из наиболее часто используемых контейнеров:

Grid
StackPanel
DockPanel
WrapPanel
Canvas

См. Также Обзор панелей MSDN .

...