首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WPF CompositeCollection按每个集合视图分组

WPF CompositeCollection按每个集合视图分组
EN

Stack Overflow用户
提问于 2017-12-06 19:21:03
回答 1查看 334关注 0票数 6

我已经设置了一个包含两个或更多集合的CompositeCollection,如下所示(简化):

代码语言:javascript
复制
<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>

..。

代码语言:javascript
复制
<ListView ItemsSource="{StaticResource FullCollection}">
    <ListView.View>
        <GridView>

然后在GridView中显示一些列。但是,我似乎无法将GroupDescriptions添加到CompositeCollection中,只能添加单个CollectionViewSource元素。

我想要做的是按集合本身分组,这样ListView就有一个头,然后是第一个集合的内容,另一个头,然后是第二个集合的内容,依此类推。

以这种方式对这些进行分组,我是不是找错了地方?

EN

回答 1

Stack Overflow用户

发布于 2020-02-18 10:35:58

我也有同样的问题,除了下拉式组合框。解决方案是简单地在集合之间设置一些禁用项,例如,根据您的问题进行调整,如下所示:

代码语言:javascript
复制
<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>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47673099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档