CompositeCollections组合集合绑定
实现效果:
实践:
- CompositeCollection下的CollectionContainer
关键代码:
<ListBox Name="myListBox" Height="300" Width="200" Background="White">
<ListBox.ItemsSource>
<CompositeCollection>
<CollectionContainer
Collection="{Binding Source={StaticResource GreekGodsData}}" />
<CollectionContainer
Collection="{Binding Source={StaticResource GreekHeroesData}}" />
<ListBoxItem Foreground="Red">Other Listbox Item 1</ListBoxItem>
<ListBoxItem Foreground="Red">Other Listbox Item 2</ListBoxItem>
</CompositeCollection>
</ListBox.ItemsSource>
</ListBox>
数据模板:
<DataTemplate DataType="{x:Type c:GreekGod}">
<TextBlock Text="{Binding Path=Name}" Foreground="Gold"/>
</DataTemplate>
<DataTemplate DataType="Hero">
<TextBlock Text="{Binding XPath=@Name}" Foreground="Cyan"/>
</DataTemplate>
扩展:
- CompositeCollection:启用要以单个列表形式显示的多个集合和项。
- CompositeCollection 可包括项(如字符串、对象、XML 节点、元素)和其他集合。
- ItemsControl 使用 CompositeCollection 中的数据,根据它的 ItemTemplate 来生成其内容。
- 保存要用在 CompositeCollection 中的现有集合结构,如 ObservableCollection<T> 或 DataSet。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。