2016-07-18 11 views
0

Gibt es eine Möglichkeit, durch ComboBox Elemente zu navigieren, wenn Sie mit den Pfeiltasten nach unten fallen? Ich durchsuche Elemente von einem SQL-Server und sie werden angezeigt, aber ich möchte sie mit der Tastatur statt mit der Maus durchlaufen. Ich habe versucht, so etwas wie das, aber es hat nicht funktioniert:Navigieren durch die WPF-Combobox mit den Pfeiltasten auf der Tastatur

private void StackPanel_PreviewKeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.Key == Key.Down) 
    { 
     ComboBox = e.Source as ComboBox; 
     if (s != null) 
     { 
      s.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next)); 
     } 

     e.Handled = true; 
    } 
} 

XAML: <ComboBox1 PreviewKeyDown="StackPanel_PreviewKeyDown" />

-Code Quelle aus: Moving to next control on Enter keypress in WPF

Hier ist die Combobox: enter image description here

Ein kleines Detail , ist auch da weg, um das Highlight aus dem getippten Buchstaben zu entfernen? In diesem Fall wird der Buchstabe "e" angezeigt. Vielen Dank im fortgeschrittenen Zustand Ich würde es wirklich schätzen, wenn Sie mir helfen könnten.

+0

Sollte das nicht das Standardverhalten einer 'ComboBox' sein? – lokusking

+0

nein, wenn ich auf den Abwärtspfeil klicke, wird automatisch das erste Element ausgewählt und alle anderen Elemente verschwinden. –

+0

Hast du einen benutzerdefinierten 'Style' oder' ControlTemplate' angewendet? – lokusking

Antwort

0

Der Code funktioniert einwandfrei gut der Fehler war einmal, wenn ich auf die Pfeiltaste nach unten/nach oben den Fokus auf das nächste/vorherige Element eingestellt ist und zeigt seine Werte, deshalb ignoriert es die andere, es ist wie wenn Sie Fokus auf die Artikel als ob Sie es ausgewählt haben!

Verwandte Themen