BitmapFrame в WPF ComboBox - PullRequest
       29

BitmapFrame в WPF ComboBox

0 голосов
/ 12 октября 2009

У меня есть диалог, который позволяет пользователю выбрать пользовательский значок. Загруженные значки отображаются в выпадающем списке, в котором пользователь делает выбор. Вот код XAML для выпадающего списка:

<ComboBox 
    Style="{DynamicResource IconComboBox}"
    ItemTemplate="{StaticResource IconTemplate}"
    ItemsSource="{Binding Icons,
        RelativeSource={RelativeSource FindAncestor, 
            AncestorType={x:Type UserControl}}}"
    SelectedItem="{Binding Icon}"
    />
  • Значки - это свойство, которое возвращает массив BitmapFrame .
  • Значок - это свойство для выбранного в данный момент.

Что в настоящее время не работает, так это то, что, когда я с помощью кода устанавливаю свойство Icon (например, при отображении того, какой значок пользователь выбрал в последний раз, когда отображалось диалоговое окно), выбор в поле со списком остается пустым. Как будто я установил свойство в null перед вызовом OnPropertyChanged.

Моя текущая теория заключается в том, что WPF не может сравнивать BitmapFrames, поэтому при просмотре списка ему не удается определить какие-либо значки там "равными" и, следовательно, предполагается, что значение равно нулю.

Короче говоря; Каков наилучший способ сквозного кодирования установить текущий выбранный элемент, который является BitmapFrame, в комбинированном списке?

1 Ответ

0 голосов
/ 12 октября 2009

Вы можете использовать SelectedItem или SelectedIndex в коде позади, чтобы установить текущий выбранный элемент!

...