我有一个带有的ListBox
IsSynchronizedWithCurrentItem="True"
问题是,如果我选择了多个项目并更改排序顺序,我最终只选择了一个项目。
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));
}
为什么会发生这种情况,我该如何解决?
因为您正在清除列表。通过存储所选内容并在重新填充列表后重新选择来修复此问题。