WPF动态表项
本文关键字:动态 WPF | 更新日期: 2023-09-27 17:49:01
我有一个TabControl,动态创建的选项卡和内容根据传入的XML而变化,但是,我还需要创建几个tabitem,而不管XML内容如何。当我添加一个<TabItem Header="Users"/>
,我收到一个项目集合必须是空的,然后使用ItemsSource。下面是我现在的代码:
<TabControl ItemsSource="{Binding Content}">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="Header"/>
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<TextBlock Text="Tab Content"/>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
有办法吗?谢谢!
如错误所示,您必须在数据绑定ItemsSource
或设置Items
属性之间进行选择—您不能两者都做。您可以使用CompositeCollection
将动态选项卡的内容与包含非动态选项卡的另一个集合组合在一起。然后,您可以将ItemsSource
绑定到此CompositeCollection
。
您可以使用CompositeCollection来实现所需的功能。这可能会有帮助(尽管它在这里谈到了TreeView)绑定到CompositeCollection中的单个元素