【发布时间】:2011-01-08 22:33:10
【问题描述】:
在 HTML 中,通用容器控件是一个 DIV。它本身不做任何事情,但它是一个挂东西的好地方。
同样,在 WinForms 中,通用容器控件是 Panel。同样,这是我以后加载其他控件的占位符。
我应该为 WPF 使用什么?
【问题讨论】:
标签: wpf controls containers
在 HTML 中,通用容器控件是一个 DIV。它本身不做任何事情,但它是一个挂东西的好地方。
同样,在 WinForms 中,通用容器控件是 Panel。同样,这是我以后加载其他控件的占位符。
我应该为 WPF 使用什么?
【问题讨论】:
标签: wpf controls containers
【讨论】:
ContentControl 是正确的选择吗?还是对此有更合适的控制?
我认为与您正在寻找的最接近的是ContentControl。它没有自己的布局,也没有默认 UI(除非您对其进行模板化以执行其中一项或两项),但可以采用任何对象,因为它是 Content 属性(WPF UIElement 或其他)并为 CLR 对象提供任何 UI通过分配给其ContentTemplate 属性的DataTemplate。在这方面,它提供了一个注入其他内容的好地方(如 HTML 中的 div)。它也恰好是许多标准内置控件的基类:Button、ListBoxItem、UserControl、Window。
WPF 面板不适用于占位符,因为它们无法模板化或通过绑定设置子级,除非它们包含在处理注入绑定内容的其他控件中,例如 ItemsControl-@987654331 @-ItemsPanel 关系。
【讨论】: