WPF Combobox сортировка, но изначально запись не выбрана? - PullRequest
1 голос
/ 26 мая 2020

Я реализовал сортировку для поля со списком 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", но это не помогло.

1 Ответ

0 голосов
/ 26 мая 2020

Установите для свойства IsSynchronizedWithCurrentItem значение false:

<ComboBox Name="PhotoLocationAreaComboBox"
          ItemsSource="{Binding Source={StaticResource SortedAreas}}"   
          DisplayMemberPath="Name"
          IsSynchronizedWithCurrentItem="False">
</ComboBox>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...