有一个列表框来显示2个不同的ObservableCollection

时间:2018-07-24 12:00:11

标签: wpf xaml

我要在同一个WPF ObservableCollection中显示两个ListBox(或类似名称,我很开放。

所以在我的ViewModel中,

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

我知道我可以创建一个将这两个集合结合在一起的新Property,但事实是:

  • 这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个收藏夹中的一个,我需要他们在视觉上看起来属于同一组。

那么你认为我能做什么?

0 个答案:

没有答案