He intentado lo siguiente, todas las cuales fallan en función ScrollIntoView y dar un NullReferenceException:WPF Toolkit: cómo desplazar la cuadrícula de datos para mostrar el elemento seleccionado del código que está detrás?
// doesn't work
grid.SelectedItem = sItem;
grid.ScrollIntoView(sItem);
// doesn't work
grid.SelectedItem = sItem;
grid.Focus();
grid.CurrentColumn = grid.Columns[0];
grid.UpdateLayout();
grid.ScrollIntoView(sItem,grid.Columns[0]);
// doesn't work
grid.SelectedItem = sItem;
grid.UpdateLayout();
grid.ScrollIntoView(sItem);
El problema es que cuando selecciono una fila de código subyacente, la selección no es visible - es en algún lugar de la parte inferior . A menos que el usuario se desplace, siente que la selección se ha desvanecido. Necesito desplazar un DataGrid al punto en que el usuario pueda ver la selección.
También probé "BringIntoView" pero no tuve suerte.
en la primera declaración Estoy asignando grid.SelectedItem = sItem, ¿cree que grid.SelectedItem y sItem son diferentes en todos modos? lo siento es una respuesta incorrecta que nunca funcionará. –
Contenedor de SelectedItem en una propiedad de dependencia por lo que mi código es diferente al que tiene. Pruébalo, tuve el mismo problema y esto funcionó para mí. Ver dissembly: [Categoría ("Apariencia"), DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden), enlazables (true)] objeto público SelectedItem { obtener { retorno base.GetValue (SelectedItemProperty); } conjunto { base.SetValue (SelectedItemProperty, value); } } –
Akash, ¿ya le diste una oportunidad? –