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?

War es hilfreich?

Lösung

Sie können hinter SelectedItem oder SelectedIndex im Code verwenden, um die aktuell ausgewählte Element zu setzen!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top