在 HTML 中,通用容器控件是 DIV。它本身不做任何事情,但它非常适合作为挂载其他内容的位置。
同样,在 WinForms 中,通用容器控件是 Panel。同样,这是我将用作稍后加载其他控件的占位符。
那么在 WPF 中应该使用什么?
同样,在 WinForms 中,通用容器控件是 Panel。同样,这是我将用作稍后加载其他控件的占位符。
那么在 WPF 中应该使用什么?
我认为最接近你所寻找的东西是ContentControl
。它本身没有布局,也没有默认的UI(除非你将其模板化以执行其中一个或两个操作),但可以将任何对象作为其Content
属性(WPF UIElement或其他)并通过赋值给其ContentTemplate
属性的DataTemplate
来为CLR对象提供任何UI。在这方面,它提供了一个很好的地方来注入其他内容(就像HTML中的div
一样)。此外,它还是许多标准内置控件的基类:Button
、ListBoxItem
、UserControl
和Window
。
WPF面板不太适合用作占位符,因为它们无法被模板化或通过绑定设置子元素,除非它们包含在其他处理注入绑定内容的控件中,例如ItemsControl
-ItemsPresenter
-ItemsPanel
的关系。
ContentControl
是正确的选择吗?还是有更适合此需求的控件? - M.kazem Akhgary