我有一个带有
的ListBoxIsSynchronizedWithCurrentItem ="真"
问题是,如果我选择多个项目并更改排序顺序,我最终只选择了一个项目。
private ICollectionView FileCollectionView;
FileCollectionView = CollectionViewSource.GetDefaultView(FileCollection);
this.FilesLB.ItemsSource = CollectionViewSource.GetDefaultView(FileCollectionView);
ObservableCollection<FileData> _fileCollection = new ObservableCollection<FileData>();
public ObservableCollection<FileData> FileCollection
{ get { return _fileCollection; } }
private void SortFiles()
{
using (FileCollectionView.DeferRefresh())
{
FileCollectionView.SortDescriptions.Clear();
FileCollectionView.SortDescriptions.Add(new SortDescription(t.SortFiles.SortBy, t.SortFiles.SortDirection));
}
为什么会发生这种情况,我该如何解决?
答案 0 :(得分:1)
因为您正在清除列表。通过存储选择并在重新填充列表后重新选择它来修复它。