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.

War es hilfreich?

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 PropertyDescriptors ü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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top