2009-05-12 8 views
1

je TextBox et ListBox avec grappe d'éléments.WPF affichage Listbox élément suivant après SelectedItem

TextBox a gestionnaire d'événements KeyDown, l'idée sous-jacente est de permettre à l'utilisateur d'appuyer sur les touches haut et vers le bas pour faire défiler l'intérieur ListBox tout accent est mis sur TextBox.

Lorsque l'utilisateur appuie sur « la touche enfoncée » à plusieurs reprises, élément sélectionné devient dernier élément visible à l'écran. Si l'utilisateur a atteint le bas de l'élément de liste visible à l'écran, je veux qu'il voit l'élément suivant après l'élément sélectionné.

Répondre

7

Regardez la méthode ScrollIntoView sur la zone de liste. Vous pouvez l'utiliser pour vous assurer que l'élément suivant de l'élément sélectionné est toujours visible.

Sur presse flèche vers le bas:

if (listbox.SelectedIndex < listbox.Items.Count - 1) 
    listbox.ScrollIntoView(listbox.Items[listbox.SelectedIndex + 1]); 

Sur place presse flèche:

if (listbox.SelectedIndex > 0) 
    listbox.ScrollIntoView(listbox.Items[listbox.SelectedIndex - 1]); 
+0

Wow qui était rapide. Je vous remercie! –