HeaderedContentControl ItemsSource

时间:2010-03-28 00:03:41

标签: wpf wpf-controls

为什么没有HeaderedContentControl ItemsSource属性?

如何将数据绑定到由HeaderedContentControl表示的对象列表?

由于 约翰

4 个答案:

答案 0 :(得分:2)

因为ItemsSource是关于多个内容的所有内容,而HeaderedContentControl具有一个内容。换句话说,HeaderedContentControl的工作是呈现一个单个对象,因此它不需要一个属性,它的工作就是为它提供多个内容。

改为使用HeaderedItemsControl,或者(根据您的要求)使用DataConmplate为HeaderedContentControl的ItemsControl。 (虽然在后一种情况下你也可以只使用面板和面板中的多个元素 - HCC并不是真的为你买任何东西。)HIC的工作是在一个标题下呈现多个项目,而且它非常灵活。例如,框架使用HIC作为TreeViewItem的基类(其“标题”是手头的项目,其“项目”是该项目的子项)和MenuItem(其“标题”是菜单项,以及其“项目”是任何子菜单项,例如在下拉菜单或弹出菜单中。

答案 1 :(得分:1)

没有ItemsSource属性,因为它只能有一个子节点(如果你计算Header,则只有两个子节点),就像它继承的类一样 - ContentControl。改为使用Content属性。

您可以在MSDN上找到有关它的更多信息。

如果要在HeaderedContentControl中显示对象列表,则只需添加ListBox作为其内容,并使用对象填充ListBox。

答案 2 :(得分:1)

也许您需要HeaderedItemsControl

您可以找到示例here

答案 3 :(得分:0)

您应该能够将集合绑定到内容属性。

HeaderedContentControl按名称本身是ContentControl的集合,每个ContentControl都带有Header。