6

我设置了一个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. 但是,我似乎无法添加GroupDescriptionsCompositeCollection,只能添加单个CollectionViewSource元素。

我想做的是按集合本身分组,这样ListView有一个标题,然后是第一个集合的内容,另一个标题,然后是第二个集合的内容,等等。

我是否在试图以这种方式对这些进行分组时发现错误的树?

4

1 回答 1

-1

我有同样的问题,但下拉组合框。解决方案是在集合之间简单地有一些禁用的项目,例如适应你的问题,它会是这样的:

<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>
于 2020-02-18T02:35:58.003 回答