ここに私の最初の投稿。
選択プロセスで入力しているリスト "<"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> と Sort でこれを行う必要があります。
List"<"T> (SelectedObjects と CopyObjectsCollections は List"<"FrameWorkElement>" リストです。
foreach(FrameworkElement feObject in MainWindow.Data.SelectedObjects)
{
MainWindow.Data.CopyObjectsCollection.Add(feObject);
}
CollectionViewSource と IComparer を見てきましたが、まったく意味がありません。