Pregunta

Estoy usando un PropertyGrid para mostrar las propiedades personalizadas que están expuestas a través de la implementación de ICustomTypeDescriptor.

Mis objetos están configurados en una estructura de árbol y los valores para cada propiedad se fijan bien en cada objeto o heredado del padre se opone. En el PropertyGrid Quiero mostrar visualmente al usuario qué valores de las propiedades se establecen en el objeto seleccionado, y que se heredan de objetos padres.

Ahora estoy mostrando cada propiedad sí dos categorías. Un juego muestra lo que el valor se establece en el objeto real, con un campo en blanco si no se establece. El otro conjunto muestra los valores de propiedad asignados al objeto de que se establece ya sea en el objeto, o heredado si no se establece en el objeto.

Me gustaría combinar estos dos grupos en una sola compra mostrar propiedades de deformación en texto normal, y los valores heredados en texto en cursiva. Sin embargo, no parece haber ninguna manera de hacerlo que a través de ICustomTypeDescriptor.GetProperties (). Y no tengo fácil acceso a las propiedades de la PropertyGrid ya que se crean mientras se ejecuta el programa.

¿Fue útil?

Solución

No se puede hacer cursiva - pero se puede hacer en negrita; el comportamiento negrita se determina por PropertyDescriptor del ShouldSerializeValue; se puede envolver PropertyDescriptors a través de varios trucos System.ComponentModel (ICustomTypeDescriptor, TypeConverter o TypeDescriptionProvider) y proporcionar su propia PropertyDescriptor.

Alternativamente, hay rejillas similares con más opciones, tales como por VisualHint -. consulte "personalización de propiedad" en esa página

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top