首页 > 解决方案 > 有一个 ListBox 来显示 2 个不同的 ObservableCollection

问题描述

我有两个ObservableCollection必须在同一个 WPF 中显示ListBox(或类似的,我很开放。

所以在我的 ViewModel 中,我

public ObservableCollection<MySubViewModel> ListA {get;set;}
public ObservableCollection<MySubViewModel> ListB {get;set;}

我知道我可以创建一个结合了 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 个集合中的一个,并且我需要它们在视觉上看起来在同一个组中。

那你觉得我能做什么?

标签: wpfxaml

解决方案


推荐阅读