Ich bin bestrebt, einen soliden (freien, Open Source oder Tutorial/Beispiel) Code zu finden, um eine WPF Combobox Autocomplet/Autofilter zu machen, wie der Benutzer tippt. Aber alles, was ich habe versucht, so weit hat irgendeine Art von Problem hat ...WPF Combobox mit Auto-Vervollständigen/Auto-Filter?
A Reusable WPF Autocomplete TextBox nahe kam, aber ich kann es nicht bekommen zu work with more than one filter (weiteren Informationen here).
WPF autocomplete textbox/combobox funktioniert nicht für mich, weil es von UserControl erbt und unterstützt daher nicht die DataTemplates, die ich brauche (zum Anzeigen/Auswählen des Werts einer Eigenschaft für ein Objekt mit mehreren Eigenschaften).
Automatically Filtering a ComboBox in WPF hat nicht funktioniert, weil es scheint, nie den EditableTextBox-Teil des geerbten ComboBox-Codes zu finden (über , die immer Null zurückgibt).
Building a Filtered ComboBox for WPF nur in einer Refresh-Schleife stecken bleibt und dann den Stapel überläuft, nachdem ich nur ein paar Buchstaben eingegeben habe.
Andere Dinge, die ich in Betracht gezogen habe:
Ich wissen, dass Windows Forms' Combobox control has AutoCompleteMode und ich konnte embed it in WPF, aber ich kann nicht vorstellen, dass es mit meiner WPF Datenbindung sehr gut spielen würde.
Vielleicht ist es zu komplex und ich muss vereinfachen, vielleicht durch den Aufbau eindimensionaler ObservableCollections (single-property) für die ComboBoxen ... Die Herausforderung der Anwendung mehrerer Filter (eine durch einen anderen Wert gesetzt, und einer von dem, was der Benutzer tippt) zu mehreren Steuerelementen, die verschiedene Ansichten desselben DataSets verwenden, würde eine lächerliche Menge an Verarbeitungsleistung erfordern, um die Liste jedesmal zu zerstören und neu aufzubauen, wenn der Benutzer einen Charakter eintippt!
Also ... Ich bin am Ende des Witzes. Irgendwelche Vorschläge?
Ich hätte gerne mehrere Felder durchsuchen können (zB "value" und "description" "), sei ohne Groß- und Kleinschreibung usw. - aber es ist eine PITA. Darauf zurückkommen, weil es bei Templates et al. – ewall
Sie können über mehrere Felder filtern, indem Sie eine andere Eigenschaft erstellen und die Felder dort zusammenfügen. Stellen Sie dann das Suchfeld auf dieses ein. Da es alle Felder kombiniert hat, die Sie benötigen, funktioniert die Suche. Ein bisschen wie ein Hack, aber die Arbeit erledigt. – Kelly
@ewall können Sie versuchen https://www.nuget.org/packages/THEFilteredComboBox/ das wir dieses Steuerelement erstellt, weil die Verwendung der obigen Eigenschaften nicht genug war –