WPF:什么是通用容器控件?

时间:2010-01-25 01:38:28

标签: wpf controls containers

在HTML中,通用容器控件是DIV。它本身并没有做任何事情,但它却是一个很好的地方。

同样在WinForms中,通用容器控件是Panel。再次,这是我将用作占位符以便稍后加载其他控件。

我应该为WPF使用什么?

2 个答案:

答案 0 :(得分:22)

我认为最接近你要找的是ContentControl。它没有自己的布局,也没有默认的UI(除非你将其模板化以执行其中一个或两个),但可以将任何对象作为Content属性(WPF UIElement或其他),并为其提供任何UI CLR对象通过DataTemplate分配给其ContentTemplate属性。在这方面,它提供了一个注入其他内容的好地方(如HTML中的div)。它也恰好是许多标准内置控件的基类:ButtonListBoxItemUserControlWindow

WPF面板对占位符不起作用,因为它们不能模板化或通过绑定设置子节点,除非它们包含在处理注入绑定内容的其他控件中,例如ItemsControl - ItemsPresenter - ItemsPanel关系。

答案 1 :(得分:17)

一些比较常用的容器是:

Grid
StackPanel
DockPanel
WrapPanel
Canvas

另见MSDN Panels Overview