WPF列表框SelectedIndex,带有分组[重复项]

问题描述 投票:0回答:1

我试图用谷歌搜索这个问题,但没有找到任何东西。

我有WPF ListBox,它与SelectedIndex绑定,ItemSource是带有自定义类的ObservableCollection。一切工作正常,直到我通过向CollectionView添加PropertyGroupDescription将分组添加到ListBox为止。

由于对ListBox中的可见项进行分组与ViewModel集合中的项具有不同的顺序。由于某种原因,我假设SelectedIndex始终基于ItemSource集合,但是看起来SelectedIndex基于可见的ListBox索引。

这意味着SelectedIndex现在具有不同的含义,并且不再可以在ViewModel中使用,因为ListBox索引0(具有分组)可能是与ViewModel索引0(没有分组)不同的项。

有什么方法可以将“ SelectedIndex”和“分组”转换为实际ViewModel ItemSource的索引?

我猜唯一的其他解决方案是绑定到SelectedItem而不是SelectedIndex?

c# wpf listbox
1个回答
0
投票

[抱歉,发布问题后,我找到了另一个答案:Get item from CollectionViewSource using index number

我必须将具有分组的ICollectionView存储在变量中,它的顺序与ListBox相同,并且可以使用SelectedIndex而不是原始的ObservableCollection在ICollectionView中进行搜索。

(或直接绑定SelectedItem而不是处理索引)

© www.soinside.com 2019 - 2024. All rights reserved.