这是我在这里的第一篇文章。
我有一个列表"<"frameworkelement>,我正在使用选择过程填充它。每个frameworkelement都有一个uid,它保存其ZOrder。
我需要按照从低到高的ZOrder对它们进行排序。我可以使用listbox并像这样添加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>和排序来完成这个任务。
以下是我填充List"<"T>的代码(SelectedObjects和CopyObjectsCollections都是List"<"FrameWorkElement>"列表)。
foreach(FrameworkElement feObject in MainWindow.Data.SelectedObjects)
{
MainWindow.Data.CopyObjectsCollection.Add(feObject);
}
我看了CollectionViewSource和IComparer,但我真的无法理解它们。