2014-10-28 84 views
0

我有一个列表框排序列表框项清除选择

IsSynchronizedWithCurrentItem =“真”

问题是,如果我选择了多个项目并更改排序顺序我最终只有一个项目选择。

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)); 
    } 

为什么会发生这种情况,我该如何解决?

回答

1

因为您正在清除列表。通过存储选择并在重新填充列表后重新选择它来修复它。

+0

我只清理SortDescription。如果我删除那条线,它仍然会发生。 – Daniel 2014-10-28 17:30:56

+0

误解了一个,但记住这些项目并重新选择它们将会起作用 – 2014-10-29 05:45:39