Bitmapframe in WPF ComboBox
-
20-09-2019 - |
Frage
Ich habe einen Dialog, der Benutzer ein benutzerdefiniertes Symbol auswählen kann. Loaded Symbole werden in einer Combobox angezeigt, in der der Benutzer die Auswahl trifft. Hier ist der XAML-Code für die Combobox:
<ComboBox
Style="{DynamicResource IconComboBox}"
ItemTemplate="{StaticResource IconTemplate}"
ItemsSource="{Binding Icons,
RelativeSource={RelativeSource FindAncestor,
AncestorType={x:Type UserControl}}}"
SelectedItem="{Binding Icon}"
/>
- Icons ist eine Eigenschaft, dass gibt ein Array von Bitmapframe .
- Symbol ist eine Eigenschaft, die sich aktuell befinden.
Was zur Zeit nicht funktioniert, ist, dass, wenn ich durch den Code hinter der Set Icon-Eigenschaft (zum Beispiel bei der Anzeige, das Symbol des Benutzer das letzte Mal wurde der Dialog aufgenommen gezeigt), ist die Combobox Auswahl einfach leer. Als ob ich die Eigenschaft auf null vor dem Aufruf OnPropertyChanged gesetzt hatte.
Meine aktuelle Theorie ist, dass WPF BitmapFrames nicht vergleichen kann, so beim Gehen durch die Liste, um es eines der Symbole, um zu bestimmen, scheitert es den „gleich“ und nimmt somit den Wert null.
Kurz gesagt; was ist der beste Weg hinter Code durch das aktuell ausgewählte Element gesetzt, das ein Bitmapframe, in einer Combobox ist?
Lösung
Sie können hinter SelectedItem oder SelectedIndex im Code verwenden, um die aktuell ausgewählte Element zu setzen!