C#.Net 4.5 PropertyGrid: cómo ocultar las propiedades
properties (3)
El problema es simple (¡y espero que esto tenga una solución simple!): Quiero ocultar (navegable (falso)) la propiedad "Elemento" (en mi objeto PropertyGrid) cuando es cero.
public class Question
{
...
public int Element
{
get; set;
}
}
Prueba BrowsableAttributes / BrowsableProperties y HiddenAttributes / HiddenProperties:
La forma más fácil de ocultar una propiedad en PropertGrid y en un control personalizado para mí es esta:
public class Question
{
...
[Browsable(false)]
public int Element
{
get; set;
}
}
Lo que podría hacer es reutilizar la clase DynamicTypeDescriptor
descrita en mi respuesta a esta pregunta aquí en SO: PropertyGrid Browsable no se encuentra para la propiedad creada del marco de entidad, ¿cómo encontrarlo?
como este por ejemplo:
public Form1()
{
InitializeComponent();
DynamicTypeDescriptor dt = new DynamicTypeDescriptor(typeof(Question));
Question q = new Question(); // initialize question the way you want
if (q.Element == 0)
{
dt.RemoveProperty("Element");
}
propertyGrid1.SelectedObject = dt.FromComponent(q);
}