WPF, aplicación Browserlike.
Tengo una página que contiene un ListView. Después de llamar a un PageFunction añado una línea al ListView, y quiero para desplazarse por la nueva línea a la vista:Scroll WPF Listview a la línea específica
ListViewItem item = ItemContainerGenerator.ContainerFromIndex(index) as ListViewItem;
if (item != null)
ScrollIntoView(item);
Esto funciona. Mientras la nueva línea esté a la vista, la línea se enfoca como debería.
El problema es que las cosas no funcionan cuando la línea no está visible.
Si la línea no está visible, no hay ListViewItem para la línea generada, por lo que ItemContainerGenerator.ContainerFromIndex devuelve null.
Pero sin el elemento, ¿cómo desplazo la línea hacia la vista? ¿Hay alguna manera de desplazarse a la última línea (o en cualquier lugar) sin necesidad de un ListViewItem?
He utilizado tanto ListBox como DataGrid ScrollIntoView() y no presentan este problema? Es una pregunta tonta, pero ¿estás corriendo contra 3.5 SP1? Muchas cosas se arreglaron allí. –
Sí, corro contra 3.5SP1, y encontré que esto no es un error. ListViewItem está virtualizado, lo cual está bien, pero ¿cómo puedo desplazarlo a la vista? – Sam