2014-10-28 139 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