Laden...

Reaktionszeit für Combobox-Eingaben anpassen

Erstellt von sth_Weird vor 8 Jahren Letzter Beitrag vor 8 Jahren 1.018 Views
S
sth_Weird Themenstarter:in
469 Beiträge seit 2007
vor 8 Jahren
Reaktionszeit für Combobox-Eingaben anpassen

Hallo,

ich verwende in meinem Formular eine WPF ComboBox, die Items und das SelectedItem sind an Properties des ViewModels gebunden.
Wenn ein User die ComboBox öffnet und Buchstaben eintippt, dann springt die ComboBox automatisch zum nächsten Eintrag, der mit den eingetippten Buchstaben beginnt. Wird für eine "längere" Zeit nichts getippt und der User fängt erneut zu tippen an, dann nimmt die ComboBox an, es fängt ein neues Suchwort an. Das ist das Standard-Verhalten der WPF ComboBox, das man hat, ohne eine Zeile Code programmieren zu müssen.

Diese Zeitspanne, die maximal zwischen dem Tippen zweier zusammengehöriger Buchstaben vergehen darf, ist manchen Usern leider zu kurz (quasi für User, die mit der Tastatur noch nicht so gut vertraut sind und einzelne Buchstaben suchen müssen). Ist es möglich, die Zeitspanne zu vergrößern?

Wenn jemand einen treffenderen Titel findet, darf ihn gerne anpassen, mir ist nichts aussagekräftigeres eingefallen, ohne die maximale Anzahl der Buchstaben zu überschreiten.

Gruß & Danke
sth_Weird

++++++++++++++++++++~+
Fluchen ist die einzige Sprache, die jeder Programmierer perfekt beherrscht


Linux is for free...if your time is worth nothing
++++++++++++++++++++~+

1.378 Beiträge seit 2006
vor 8 Jahren

Hallo sth_Weird,

laut Combobox filter text lost when I type the latest inputs with some delay ist dieses Verhalten hard-coded und nicht veränderbar, jedoch hängt es direkt zusammen mit der Doppel-klick Gewschwindigkeit die man in Windows einstellen kann. Habs gerade getestet und es stimmt. Leider hat man aber hier auch nicht sehr viel Spielraum aber vielleicht hilfts ja schon.

Lg, XXX

S
sth_Weird Themenstarter:in
469 Beiträge seit 2007
vor 8 Jahren

Schade, dass da nichts zu machen ist..
Nuja, aber zu wissen dass etwas nicht (zumindst nicht so einfach) geht, das bringt einem auch schon mal etwas weiter 😉

Ich hätte noch die Idee, mich von ComboBox abzuleiten, mich dort an die KeyPresses zu hängen und die Zeit mit Timer zu überwachen...aber kann ich in der Ableitung überhaupt die eingebaute Filter-Funktion manipulieren/überschreiben?
Oder ich bau mir ne eigene ComboBox aus Textbox, "v"-Button und Popup...aber das wäre auch suboptimal.

gruß & danke

++++++++++++++++++++~+
Fluchen ist die einzige Sprache, die jeder Programmierer perfekt beherrscht


Linux is for free...if your time is worth nothing
++++++++++++++++++++~+

1.378 Beiträge seit 2006
vor 8 Jahren

In dem Link von mir macht einer einen Vorschlag wie er denkt das es gehen könnte. Eine eigene ComboBox basteln ist aber auch nicht so schlimm...

Vielleicht hilft dir aber auch eine sogenannte "AutoCompleteTextBox" weiter. Dazu gibts ein paar Projekte auf CodePlex zB.

Lg, XXX

5.299 Beiträge seit 2008
vor 8 Jahren

vlt könnte dich vom Prinzip her interessieren: AutoCompletion advanced

Das ist keine Wpf-AutoCompletion-Combo, sondern da stelle ich ein generell andereres Konzept vor, wie man AutoCompletion handeln kann.

Für Wpf habich das noch nicht ausprogrammiert - es würde sicherlich auf ein Behavior hinauslaufen...

Der frühe Apfel fängt den Wurm.