2013-02-24 5 views
13

Ich kann keine Liste der verfügbaren Attribute für das PropertyGrid in C# finden, wissen Sie, wo ich einen finden kann?Liste der PropertyGrid-Attribute

Danke.

+0

Um. Was denkst du, ist die Liste der Eigenschaften? – Oded

+0

Nach Attribut, meine ich die Sache, die Sie oben auf Ihre Eigenschaften setzen, um beispielsweise einen anderen Namen anzuzeigen, oder sie in eine Kategorie im propertygrid zu setzen :) Wie folgt: [CategoryAttribute ("ID Settings"), DescriptionAttribute ("Sozialversicherungsnummer des Kunden")] – Phito

+1

http://msdn.microsoft.com/en-us/library/system.componentmodel.aspx –

Antwort

18

Die Attribute, die sich auf PropertyGrid auswirken, sind indirekt: Der interessante Code ist der TypeDescriptor, der die PropertyDescriptor-Implementierung bereitstellt. Dieser Van wird jedoch von ICustomTypeDescriptor oder TypeDescriptionProvider überschrieben.

Wenn wir jedoch die Standardregeln, die wichtigsten Attribute im Spiel sind annehmen:

  • [DisplayName(...)]
  • [Description(...)]
  • [Category(...)]
  • [TypeConverter(...)]
  • [ReadOnly(...)]
  • [Browsable(...)]
  • [DefaultValue(...)]
  • [Editor(...)]

einige andere Dinge werden durch Muster wie das Vorhandensein eines ShouldSerialize {name} erkannt oder Reset {name} Methode.

+0

Editor ist auch ziemlich wichtig für die Eigenschaft Grid. –

+0

@Simon Ich war verpflichtet, eins zu verpassen ... danke –

+0

ich würde auch hinzufügen RefreshPropertiesAttribute NotifyParentPropertyAttribute –

4

würde ich auch

RefreshPropertiesAttribute

NotifyParentPropertyAttribute

+0

NotifyParentPropertyAttribute - Genau das, was ich gesucht habe! Vielen Dank! – NightElfik

0

hinzufügen würde ich auch "MergableAttribute" hinzufügen. Dies ist nützlich, um zu verhindern, dass Eigenschaftsraster Identitätsfelder gruppiert, da Sie, wenn Sie mehrere Objekte auswählen, die Eigenschaft "Name" (z. B.) der Objekte nicht mithilfe von Eigenschaftsraster ändern möchten, da dies erforderlich ist bleiben einmalig pro Objekt ...