2009-03-31 7 views
8

Tengo un cuadro de lista que se llena con 30.000 elementosWPF ListBox SelectedItem a veces no es visible (desplazamiento está fuera de sincronización)

<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" /> 

estoy seguimiento del historial de elementos de usuario haga clic

tengo 2 botones Prev. y A continuación, estos botones permiten al usuario avanzar y retroceder en el historial.

Ant. y el botón Siguiente modificar la propiedad SelectedItem de ListBox

El problema surge, si el usuario selecciona elementos aleatorios de ListBox que están muy separados unos de otros (por ejemplo, el usuario seleccionó algunos elementos en la parte superior de la lista y pocos elementos en la parte inferior la lista).

Ant. y el botón Siguiente cambiar propiedad de SelectedItem, pero ListBox no está sincronizado con desplazamiento, el elemento seleccionado no está resaltado y la mayoría de las veces no es visible para el usuario, ya que está fuera del área de elementos visibles de ListBox.

¿Hay alguna manera de hacer que ListBox muestre correctamente el elemento seleccionado actualmente?

Gracias.

Respuesta

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

Esto ayudó, gracias :) –

+0

De nada. Si contestó su pregunta, puede marcarla como la respuesta marcando la casilla junto a mi respuesta. –

Cuestiones relacionadas