Dan*_*Dan 5 c# wpf compositecollection
我已经设置了一个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>
Run Code Online (Sandbox Code Playgroud)
...
<ListView ItemsSource="{StaticResource FullCollection}">
<ListView.View>
<GridView>
Run Code Online (Sandbox Code Playgroud)
然后一些列显示在GridView. 但是,我似乎无法添加GroupDescriptions到CompositeCollection,只有单个CollectionViewSource元素。
我想要做的是按集合本身分组,这样ListView就有一个标题,然后是第一个集合的内容,另一个标题,然后是第二个集合的内容,等等。
我是否在尝试以这种方式对这些进行分组的错误树?
geo*_*kal -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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
288 次 |
| 最近记录: |