从排序列表中删除所选项目后,选择下一个项目

本文关键字:项目 选择 下一个 选项 排序 列表 删除 | 更新日期: 2023-09-27 18:13:03

我有一个ListView,它由CollectionViewSource的排序数据填充,从ObservableCollection填充。这样的

<CollectionViewSource x:Key="cvsSortByName" Source="{Binding CountryData}">
    <CollectionViewSource.SortDescriptions>
        <scm:SortDescription PropertyName="Name"/>
    </CollectionViewSource.SortDescriptions>
</CollectionViewSource>
<ListView ItemsSource="{Binding Source={StaticResource cvsSortByName}}" SelectedItem="{Binding SelectedStuff}"/>

如何在排序列表中选择下一个项目,当从ObservableCollection中删除项目时。例如,我们有如下代码:

index id  name
0     1   1
1     3   3
2     4   4
添加2

index id  name
0     1   1
3     5   2 - SelectedStuff 
1     3   3
2     4   4

从ObservableCollection中删除3 5 2

CountryData.Remove(item);

我如何使1 3 3 SelectedStuff?

从排序列表中删除所选项目后,选择下一个项目

您可以使用SelectedIndex。所以尝试;

int i = ListView.SelectedIndex;
CountryData.Remove(item);
ListView.SelectedIndex = i;