2011-02-01 15 views
3

私は私のように動的に項目を追加していたでは、4つの列を含むリストビュー、持っている:今、私はperticular列をクリックしたときに、この動的に生成されたリストビューをソートしたいListView Itemsソート?

ListViewItem lvi = new ListViewItem(); 
lvi.Background = ... color you want ... ; 
lvi.Content = new {Server = "test1", .... }; 
listViewResult.Items.Add(lvi); 

を。 これをどうすれば実現できますか?

答えて

0

カスタムソートを説明する記事hereが見つかりました。

VirtualizingStackPanel.IsVirtualizing=”True” 

First you need to specify the above property to true in your ListView, (this is the default value for ListView in WPF). 

Then next, you need to use custom sorter, instead of SortDescriptions as described in my earlier blog. The key is using the CustomSort property of ListCollectionView: 
ListCollectionView view = (ListCollectionView)CollectionViewSource.GetDefaultView(myListView.ItemsSource); 

Then in your ColumnHeader click event handler, you add something like the following: 

view.CustomSort = sorter; 
myListView.Items.Refresh(); 

Where sorter is a custom class you implement the IComparer interface.