У меня есть WPF ComboBox
, который я привязываю к списку пользовательских объектов, каждый из которых содержит свойство IsSelected
. Это свойство связано с его соответствующим ComboBoxItem
IsSelected
. При первоначальном создании списка я устанавливаю свойство IsSelected
конкретного объекта в true
с ожиданием, что этот элемент будет выбран, когда первоначально отображается ComboBox. Тем не менее, ComboBox всегда показывает первый элемент в списке как выбранный, независимо от того, какой объект в его списке перечней имеет свой IsSelected
свойство, установленное на true
.WPF ComboBox изначально не выбирает правильный элемент
Я знаю, что привязка работает правильно, потому что, когда я нажимаю ComboBox
, он расширяется, чтобы показать все доступные параметры, обновления ComboBox
, чтобы отобразить правильный выбранный элемент.
Вот XAML определяет мой ComboBox
. Это в DataTemplate
и динамически добавлять/удалять со страницы, если это вообще отношение:
<ComboBox ItemsSource="{Binding DataContext.YearList, RelativeSource={RelativeSource AncestorType=Window}}" IsSynchronizedWithCurrentItem="True">
<ComboBox.ItemContainerStyle>
<Style TargetType="{x:Type ComboBoxItem}">
<Setter Property="IsSelected" Value="{Binding IsSelected}"/>
</Style>
</ComboBox.ItemContainerStyle>
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<Label Content="{Binding Object}"/>
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
Спасибо за ваш ответ, но установка 'IsSynchronizedWithCurrentItem' в' false' приводит к тому, что 'ComboBox' первоначально показывает, что элементы не выбраны (это пусто). –