Ich habe meine WPF Combobox geändert, so dass, wenn ich beginne zu tippen filtert die Liste basierend auf Elemente, die die Zeichenfolge enthalten (im Gegensatz zu nur damit beginnen). Sehen Sie ein Beispiel hier:Vermeiden Sie selectItem ändern auf Pfeil drücken
Wenn ich drücken Sie den Pfeil nach unten:
Wie man sieht es nach unten bewegt (weil es die zweite auf der Liste auswählen) . Sobald es jedoch nach unten bewegt wird, ändert es das SelectedItem, wodurch meine Filterfunktion ausgelöst wird. Dadurch wird die Dropdownliste auf Elemente gefiltert, die die Zeichenfolge im Feld enthalten. Da es nur einen mit dem passenden Namen gibt, ist dies jetzt die einzige Wahl, die der Benutzer hat.
Ich brauche eine Möglichkeit, nach unten zu scrollen, ohne das SelectedItem zu ändern oder diese Änderung zumindest nicht in der Textbox widerzuspiegeln.
werden Sie dies von einem Verhalten zu erreichen versuchen, außer Kraft setzen? – Akos
Vorzugsweise ja ein Befehl oder Verhalten –
Sie könnten einen relaycommand mit Parameter hinzufügen, der auf dropdownClosed aufgerufen wird, und das aktuell ausgewählte Element als Parameter senden. Auf diese Weise müssen Sie die Eigenschaft selectedItem nicht binden, und Sie können Ihre Filter vom Ausführen des Befehls auslösen. BEARBEITEN: Ich habe ein Beispielprojekt erstellt, und ich habe keine Änderung der Auswahl, die bei Drücken der Pfeiltaste auftritt. vielleicht können Sie Ihr benutzerdefiniertes Steuerelement bearbeiten, um das Keydown zu handhaben? e.handle wahr bei previewkeydown? – Akos