Frage

Ich habe eine Eigenschaft Raster, das ich alle Steuerelemente in einem Formular verwalten kann. Diese Kontrollen sind für Designer-Art Leute, also bin ich nicht wirklich besorgt, dass viel über die Benutzeroberfläche ... bis jemand wählt mehrere Objekte.

Ich habe eine UITypeEditor für die „BottomDiameter“ Eigenschaft auf diesen gemeinsamen Objekte. Es verfolgt Einheiten (Meter vs Fuß) und hat einige nette Dinge on-the-fly. Wenn jedoch jemand zwei oder drei gemeinsame Objekte auswählt, BottomDiameter leer ist, auch wenn es auf die gleiche Textzeichenfolge auswertet.

Der Grund (glaube ich), dass es leer ist, ist, dass es tatsächlich drei separate objDiameter Objekte ist. Wie kann ich das Eigenschaftenraster sagen wie alle anderen Eigenschaften und zeigen den Wert zu verhalten, wenn es um die gleiche Zeichenfolge auswertet ???

UPDATE: Zum Beispiel der „Anchor“ Eigenschaft hat eine Textausgabe von „Oben, Recht“, aber wenn Sie es nach unten ziehen es ist ein Objekt. Doch wenn Sie wählen fünf Objekte auf dem Formular, die alle die gleiche Anchor haben Einstellung können Sie immer noch die Zeichenfolge „Oben, Rechts“ im Eigenschaftenraster sehen.

War es hilfreich?

Lösung

Wenn Ihr BottomDiameter eine Klasse ist und nicht einfach primitiv, dann müssen Sie die Equals-Methode in dieser Klasse außer Kraft setzen.

Andere Tipps

In der TypeConvertor der Datentyp, der BottomDiameter Property zugeschrieben wird, möchten Sie vielleicht eine vistor wie Klasse erstellen genannt sagen, BottomDiameterVistor die ein Array oder eine Liste der ausgewählten BottomDiameter nehmen würde (n). Überschreiben Sie die auf String-Eigenschaft auf dem BottomDiameterVistor zu Ihrem aggregrated Textwert für die Eigenschaft zurück.

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