2009-03-31 4 views
8

J'ai un Listbox qui est rempli de 30.000 élémentsWPF ListBox SelectedItem est parfois visible (défilement est désynchronisé)

<ListBox Name="lbWordlist" 
      Grid.Row="1" Margin="10" 
      ItemsSource="{Binding Source={StaticResource WordListViewSource}}" 
      SelectedItem="{Binding Source={StaticResource MainViewModel}, Path=SelectedArticle}" 
      IsSynchronizedWithCurrentItem="True" 
      SelectionChanged="lbWordlist_SelectionChanged" /> 

Je suivi de l'historique des articles en cliquant utilisateur

J'ai 2 boutons Prev. et Ensuite, ces boutons permettent à l'utilisateur de revenir en arrière dans l'historique.

Préc. Le bouton suivant modifie la propriété SelectedItem de ListBox

Le problème survient si l'utilisateur sélectionne des éléments de ListBox au hasard les uns des autres (par exemple, l'utilisateur a sélectionné certains éléments en haut de la liste et quelques éléments au bas de la liste). la liste).

Préc. et le bouton Suivant modifie la propriété SelectedItem, mais ListBox n'est pas synchronisé avec le défilement, l'élément sélectionné n'est pas mis en surbrillance et la plupart du temps n'est pas visible pour l'utilisateur, car il est en dehors de la zone des éléments visibles de ListBox.

Est-il possible de faire en sorte que ListBox affiche correctement l'élément actuellement sélectionné?

Merci.

Répondre

23
_listBox.ScrollIntoView(_listBox.SelectedItem); 
+0

Cela a aidé, merci :) –

+0

Vous êtes les bienvenus. S'il répond à votre question, vous pouvez la marquer comme la réponse en cochant la case à côté de ma réponse. –

Questions connexes