我已经设置了一个包含两个或更多集合的CompositeCollection,如下所示(简化):
<Grid.Resources>
<CollectionViewSource x:Key="CollectionA" Source="{Binding CollectionA}" />
<CollectionViewSource x:Key="CollectionB" Source="{Binding CollectionB}" />
<CompositeCollection x:Key="FullCollection">
<CollectionContainer Collection="{Binding Source={StaticResource CollectionA}}" />
<CollectionContainer Collection="{Binding Source={StaticResource CollectionB}}" />
</CompositeCollection>
</Grid.Resources>..。
<ListView ItemsSource="{StaticResource FullCollection}">
<ListView.View>
<GridView>然后在GridView中显示一些列。但是,我似乎无法将GroupDescriptions添加到CompositeCollection中,只能添加单个CollectionViewSource元素。
我想要做的是按集合本身分组,这样ListView就有一个头,然后是第一个集合的内容,另一个头,然后是第二个集合的内容,依此类推。
以这种方式对这些进行分组,我是不是找错了地方?
发布于 2020-02-18 10:35:58
我也有同样的问题,除了下拉式组合框。解决方案是简单地在集合之间设置一些禁用项,例如,根据您的问题进行调整,如下所示:
<Grid.Resources>
<CollectionViewSource x:Key="CollectionA" Source="{Binding CollectionA}" />
<CollectionViewSource x:Key="CollectionB" Source="{Binding CollectionB}" />
<CompositeCollection x:Key="FullCollection">
<ListViewItem IsEnabled="False">Collection A:</ListViewItem>
<CollectionContainer Collection="{Binding Source={StaticResource CollectionA}}" />
<ListViewItem IsEnabled="False">Collection B:</ListViewItem>
<CollectionContainer Collection="{Binding Source={StaticResource CollectionB}}" />
</CompositeCollection>
</Grid.Resources>https://stackoverflow.com/questions/47673099
复制相似问题