Muchas Veces, observamos un menor rendimiento del control RadGridView.
Aquí enumero algunas de las razones posibles:
1.- El GridView se coloca en un control que mide sus hijos con infinity
Estos controles son ScrollViewer, StackPanel (Cuando sus propiedades Vertical y horizontal miden como infinito) y la cuadrícula con altura RowDefinition = "Auto" o ColumnDefinition ancho = "Auto".
Cuando RadGridView se mide con virtualización de infinito y está desactivada dandonos un menor rendimiento. En estos casos modifique el código para que RadGridView sea colocado en un contenedor que no se mida con infinito y el rendimiento será vuelto a la normalidad.
2.- Enlazar a las propiedades complejas - si se enlaza a una propiedad compleja (sub propiedad) los RadGridView tienen que utilizar los enlaces para obtener el valor de la celda.
El mejor rendimiento se logrará si se enlaza a una propiedad simple porque utilizaremos lambda para obtener el valor. Uso de lambdas es mucho más rápido que los enlaces.
3.- Convertidores – La utilización de convertidores ralentizará el RadGridView, ya que debe llamarlos en cada celda.
4.- CellTemplates – el uso de CellTemplates es una operación de mucho tiempo.
Si procede, intentar mantener las plantillas predeterminadas.
5.- AlternateRowStyle - uso de AlternateRowStyle es una operación que también demanda mucho tiempo. Si sólo necesita establecer el fondo de las filas alternas se recomienda utilizar la propiedad AlternateRowBackground.
6.- RowStyle – La utilización de RowStyle es una operación que toma mucho tiempo (Esto en Silverlight 3 es la única alternativa. No asi en la versión 4). En Estos Casos utilice estilos implícitos (disponibles en 4 de Silverlight).
Ejemplo de lo que no se recomienda:
XAML
Ejemplo de lo que se debe hacer:
XAML
No hay comentarios: