wpf - 有一个 ListBox 来显示 2 个不同的 ObservableCollection
问题描述
我有两个ObservableCollection
必须在同一个 WPF 中显示ListBox
(或类似的,我很开放。
所以在我的 ViewModel 中,我
public ObservableCollection<MySubViewModel> ListA {get;set;}
public ObservableCollection<MySubViewModel> ListB {get;set;}
我知道我可以创建一个结合了 2 个集合的新属性,但问题是:
- 这 2 个集合将有新的/删除的元素
- 我总是需要将集合 1 的对象放在顶部,将集合 2 放在底部
- 我在想/跳跃/祈祷有一个解决方案
我已经尝试过使用 `CompositeCollection,但我不觉得这适用于 Observable 部分?
<ListBox>
<ListBox.ItemTemplate>
<TextBlock Margin="5" Text="{Binding Name}"/>
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemsSource>
<CompositeCollection>
<CollectionContainer Collection="{Binding ListA }" />
<CollectionContainer Collection="{Binding ListB }" />
</CompositeCollection>
</ListBox.ItemsSource>
</ListBox>
我也尝试过 2 ListBox
,但我只能选择这 2 个集合中的一个,并且我需要它们在视觉上看起来在同一个组中。
那你觉得我能做什么?