У меня есть диалог, который позволяет пользователю выбрать пользовательский значок. Загруженные значки отображаются в выпадающем списке, в котором пользователь делает выбор. Вот код XAML для выпадающего списка:BitmapFrame в WPF ComboBox
<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, поэтому при прохождении через список он не может определить ни одну из икон там «равно» и, следовательно, принимает значение null.
Вкратце; Каков наилучший способ использования кода позади набора текущего выбранного элемента, который является BitmapFrame, в combobox?