2010-05-12 15 views
8

Hola tengo una colección observable que vinculo a un DataGrid usando la propiedad de fuente de elemento del DataGrid.WPF toolkit DataGrid muestra campos incluso con el atributo explorable establecido en falso

Todas las propiedades de la clase dentro de la colección se muestran correctamente en DataGrid. Ahora, quiero ocultar algunos campos al DataGrid usando el atributo navegable [Browsable (false)] en la clase. Funciona bien en winforms, pero parece que no funciona en WPF.

¿Alguien sabe por qué? Puedo ocultar las columnas más tarde, pero no quiero perder el rendimiento de esta manera.

¿Hay alguna otra solución?

Gracias.

+0

+1 Me gustaría obtener una respuesta a esto también. – Maslow

+1

La solución a continuación es correcta, si la necesita 100 veces, es posible que tenga que subclasificar la cuadrícula de datos WPF (de lo contrario, deberá conectar la función en cada cuadrícula que use). –

+0

+1 También me gustaría saber por qué este es el caso, y si hay una forma mejor de solucionarlo que cancelarlo en el evento AutoGeneratingColumn – simonalexander2005

Respuesta

1

Sería bueno poder establecer los atributos de los miembros y hacer que sean respetados por .NET 4.0 DataGrid.

8

Este código funciona en .NET 4,0

void m_grid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) 
{ 
    if (((PropertyDescriptor)e.PropertyDescriptor).IsBrowsable == false) 
     e.Cancel = true; 
} 
1

la DisplayAttributemsdn doc parece funcionar para el kit de herramientas de Silverlight. No lo probé en WPF, pero a menudo son lo mismo.

Cuestiones relacionadas