我的第一篇文章在這裏。WPF list <t>排序
我有一個列表「<」frameworkelement>,我填充選擇過程。每個frameworkelement都有一個保存它的ZOrder的uid。
我需要由ZOrder從最低到最高排序這些。我能得到這個使用列表框和添加的UID是這樣的:
//Add Object Uid's
ListBox lstTempOrder = new ListBox();
foreach(FrameworkElement feObject in MainWindow.Data.SelectedObjects)
{
lstTempOrder.Items.Add(feObject.Uid);
}
//Reorder from 0 to above of the ZIndexes
lstTempOrder.Items.SortDescriptions.Add(new System.ComponentModel.SortDescription("", System.ComponentModel.ListSortDirection.Ascending));
,但我需要用List這樣做「<」 FrameworkElement的>和排序。
這裏是我填充列表」 < 「T>的代碼(的selectedObjects和CopyObjectsCollections是列表」 < 「FrameworkElement的>」 名單。
foreach(FrameworkElement feObject in MainWindow.Data.SelectedObjects)
{
MainWindow.Data.CopyObjectsCollection.Add(feObject);
}
我已經看了CollectionViewSource和IComparer的,但我可以「T真正使它的任何意義。
除了手動做這個的,你應該將列表框綁定到[CollectionViewSource(HTTP:// msdn.microsoft.com/en-us/library/system.windows.data.collectionviewsource.aspx),它允許對項目進行排序。有關示例,請參閱[綁定到集合](http://msdn.microsoft.com/zh-cn/library/ms752347.aspx#binding_to_collections)。 – Clemens
感謝您的回答。我不確定你是用手工來做什麼的。列表框排序只是爲了測試,它的工作原理,但我不能解決如何在列表「CopyObjectsCollection」上做同樣的事情。我從來沒有使用過綁定。 –
Drew
綁定在WPF中至關重要。您可能會開始閱讀MSDN上的[數據綁定概述](http://msdn.microsoft.com/en-us/library/ms752347.aspx)文章。 – Clemens