BitmapFrame в WPF ComboBox
У меня есть диалоговое окно, которое позволяет пользователю выбрать пользовательский значок. Загруженные значки отображаются в выпадающем списке, в котором пользователь делает выбор. Вот код XAML для комбинированного списка:
<ComboBox
Style="{DynamicResource IconComboBox}"
ItemTemplate="{StaticResource IconTemplate}"
ItemsSource="{Binding Icons,
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type UserControl}}}"
SelectedItem="{Binding Icon}"
/>
- Иконки - это свойство, которое возвращает массив BitmapFrame.
- Значок - это свойство для выбранного в данный момент.
Что в настоящее время не работает, так это то, что, когда я с помощью кода устанавливаю свойство Icon (например, при отображении того, какой значок пользователь выбрал в последний раз, когда отображалось диалоговое окно), выбор Combobox становится пустым. Как будто я установил свойство в null перед вызовом OnPropertyChanged.
Моя текущая теория заключается в том, что WPF не может сравнивать BitmapFrames, поэтому при просмотре списка ему не удается определить какие-либо значки там "равными" и, таким образом, принимает значение "ноль".
Короче; Каков наилучший способ, чтобы через код установить текущий выбранный элемент, который является BitmapFrame, в выпадающем списке?
1 ответ
Вы можете использовать SelectedItem или SelectedIndex в коде позади, чтобы установить текущий выбранный элемент!