У меня есть простой ListView
, и я хочу отсортировать его содержимое в числовом или алфавитном порядке по возрастанию или убыванию. Выбор происходит из раскрывающегося списка. Я понимаю, что могу использовать CollectionViewSource
для сортировки, но как я могу изменить SortDescription или направление на лету?
Обновление:
Хорошо, я настроил свою CVS вот так, viewModel к чему в настоящее время привязан ListView. Мне нужно, чтобы PropertyName было привязано к свойству текущего выбранного элемента поля со списком PropertyName
. Поле со списком привязано к настраиваемому списку, в котором отображается имя свойства, по которому я хочу выполнить сортировку.
Он жалуется на PropertyName, которое я пытаюсь использовать:
'Привязка' не может быть установлена для свойства 'PropertyName' типа 'SortDescription'. «Привязка» может быть установлена только для DependencyProperty объекта DependencyObject.
<CollectionViewSource Source="{StaticResource viewModel.ListValues}" x:Key="cvs">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="{Binding Path=SortPropertyName, Source=comboSort}"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
<ListView ItemsSource="{Binding Source={StaticResource cvs}}" />