мой первый пост здесь.Список WPF <t> сортировать
У меня есть список "<" 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));
, но мне нужно сделать это с помощью списка «<» FrameworkElement> и сортировка.
Вот код, где я заполнить список»< "T> (SelectedObjects и CopyObjectsCollections являются Список" < "FrameworkElement>" списки.
foreach(FrameworkElement feObject in MainWindow.Data.SelectedObjects)
{
MainWindow.Data.CopyObjectsCollection.Add(feObject);
}
Я посмотрел на CollectionViewSource и IComparer, но я могу «т действительно сделать любой смысл.
Вместо того, чтобы делать это вручную, вы должны связать ваш ListBox к [CollectionViewSource] (HTTP: // msdn.microsoft.com/en-us/library/system.windows.data.collectionviewsource.aspx), который позволяет сортировать элементы. См. [Связывание с коллекциями] (http://msdn.microsoft.com/en-us/library/ms752347.aspx#binding_to_collections) для примера. – Clemens
Спасибо за ответ. Я не уверен, что вы подразумеваете, делая это вручную. Сортировка списка была просто для теста, и она работает, но я не могу решить, как сделать то же самое в списке «CopyObjectsCollection». Раньше я никогда не работал с привязкой. –
Drew
Связывание имеет важное значение в WPF. Вы можете начать читать статью [Обзор привязки данных] (http://msdn.microsoft.com/en-us/library/ms752347.aspx) в MSDN. – Clemens