Я реализовал сортировку для поля со списком WPF, используя следующий XAML:
<CollectionViewSource x:Key="SortedAreas" Source="{Binding AllAreas}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="Name"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
<ComboBox Name="PhotoLocationAreaComboBox"
ItemsSource="{Binding Source={StaticResource SortedAreas}}"
DisplayMemberPath="Name">
</ComboBox>
Это работает в основном нормально - записи отсортированы, но есть побочный эффект:
- Прежде, чем я добавил сортировку (привязка непосредственно к AllAreas, который является ObservableCollection, внутри не было выбрано ни одной записи combobox (пусто)
- После сортировки первая отсортированная запись автоматически выбирается заранее
Есть идеи, как восстановить исходное поведение (запись не выбрана) с помощью сортировки? Я попробовал SelectedIndex = "0", но это не помогло.