2010-09-30 19 views
21

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?

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?

Antwort

27

Wenn Ihr Combobox eine Datenquelle mit ihm verbunden hat, nur

machen
1-IsTextSearchEnabled = true. 
2-IsEditable = true. 

Sie gut sind jetzt

+0

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

+0

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

+1

@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 –

3
+0

es gehen ausprobieren ... Bisher bin ich beeindruckt von der Liebe zum Detail. – ewall

+0

Ich habe das nicht am aktuellen Projekt benutzt, aber ich werde es für die Zukunft behalten, da es ziemlich solide ist. Vielen Dank! – ewall

+6

Der obige Link ist tot. Aber mit web.archive.org fand ich, dass der Code hier gehostet wird http://wpfactb.codeplex.com/ (Sie können den Artikel hier lesen http://web.archive.org/web/20120421111715/http:// blogs.windowsclient.net/dragonz/archive/2010/02/23/autocomplete-textbox-control-for-wpf.aspx) –