Kursiver Text in einem Property
-
09-09-2019 - |
Frage
ich ein Property bin mit benutzerdefinierten Eigenschaften zu zeigen, die durch die Umsetzung von ICustomTypeDescriptor ausgesetzt sind.
Meine Objekte sind Setup in einer Baumstruktur und Werten für jede Eigenschaft entweder in jedem Objekt gesetzt werden oder von übergeordneten Objekten geerbt. Im Property ich visuell will zeigt den Anwender, welche Eigenschaften Werte im ausgewählten Objekt festgelegt sind, und die von übergeordneten Objekten geerbt werden.
Im Moment bin ich zeigt jede Eigenschaft es zwei Kategorien. Ein Satz zeigt, wie der Wert in dem eigentlichen Objekt gesetzt ist, mit einem leeren Feld, wenn es nicht gesetzt ist. Der andere Satz zeigt Werte, die die Eigenschaft auf das Objekt zugewiesen, die in dem Objekt entweder festgelegt sind, oder geerbt, wenn nicht in dem Objekt festgelegt.
Ich mag diese beiden Gruppen zu einem Kauf kombinieren Satz Eigenschaften in normalen Text, und vererbten Werte in Kursivschrift zeigt. Allerdings scheint es nicht so zu sein, dass durch ICustomTypeDescriptor.GetProperties () zu tun. Und ich habe keinen leichten Zugang zu den Eigenschaften des Property da sie erstellt bekommen, während das Programm ausgeführt wird.
Lösung
Sie können nicht kursiv tun - aber Sie können fett machen; das kühne Verhalten wird durch die PropertyDescriptor
des ShouldSerializeValue
bestimmt; Sie können PropertyDescriptor
s über verschiedene System.ComponentModel
Tricks wickeln (ICustomTypeDescriptor
, TypeConverter
oder TypeDescriptionProvider
) und Ihre eigene PropertyDescriptor
liefern.
Alternativ gibt es ähnliche Netze mit mehr Optionen, wie zum Beispiel von VisualHint -. "Property Customization" auf dieser Seite