Verwenden von Aktivitätseigenschaften

Man unterscheidet zwei Arten von Aktivitätseigenschaften: Metadateneigenschaften und Instanzeigenschaften. Eine Metadateneigenschaft ist zur Laufzeit unveränderlich. Deshalb muss die Eigenschaft während der Entwurfszeit auf einen literalen Wert festgelegt werden. Eine Instanzeigenschaft kann während der Entwurfszeit festgelegt werden, oder die Eigenschaft kann an Instanzdaten gebunden werden, deren tatsächlicher Wert bis zur Laufzeit nicht bestimmt wird. Instanzeigenschaften können auch direkt während der Workflowausführung geändert werden.

Wird eine Instanzeigenschaft implementiert, kann sie wie eine normale .NET Framework-Klasseneigenschaft oder mithilfe einer Abhängigkeitseigenschaft implementiert werden. Nur, wenn die Eigenschaft mithilfe einer Abhängigkeitseigenschaft implementiert wird, kann als Wert ActivityBind festgelegt werden, um eine Bindung zu dem eigentlichen Wert herzustellen, auf den während der Laufzeit zugegriffen wird. Weitere Informationen zu Abhängigkeitseigenschaften finden Sie unter Verwenden von Abhängigkeitseigenschaften.

Hinweis

Stammen die Eigenschaften von einer Schnittstelle, verwenden Sie explizite Implementierung, da der Compiler andernfalls eine Zielaufrufausnahme auslöst. Wird eine Eigenschaft explizit implementiert, kann auf sie nicht durch eine Klasseninstanz zugegriffen werden, sondern nur durch eine Schnittstelleninstanz.

Hinweis

Alle in Aktivitätseigenschaften verwendeten Typen müssen als serialisierbar markiert werden.

Eigenschaftenattribute

Der benutzerdefinierte Aktivitätsentwickler muss beim Definieren von Eigenschaften in einer Aktivitätsklasse eine Reihe von Attributen beachten. Der ValidationOptionAttribute-Typ in Windows Workflow Foundation wird zum Vereinfachen der automatischen Prüfung von Metadaten-Eigenschaftswerten für eine Aktivität verwendet. Dies bedeutet zudem, dass alle für instanzbasierte Abhängigkeitseigenschaften festgelegten ValidationOptionAttribute-Werte von DependencyObjectValidator ignoriert werden.

In der folgenden Tabelle sind die relevanten .NET Framework-Attribute im System.Workflow.ComponentModel-Namespace aufgelistet.

Attribut Beschreibung

BrowsableAttribute

Gibt an, ob eine Eigenschaft in einem Fenster mit der Bezeichnung Eigenschaften (normalerweise in Visual Studio) angezeigt werden soll.

DefaultValueAttribute

Gibt an, wie der Eigenschaftswert interpretiert werden sollte. Dies bedeutet nicht, dass die Eigenschaft automatisch für den vom Attribut angegebenen Wert initialisiert wird. In der benutzerdefinierten Eigenschaft wird die Eigenschaft beispielsweise nicht in Code oder Markup serialisiert, wenn der Wert für die Eigenschaft auf den Standardwert festgelegt ist.

DesignerSerializationVisibilityAttribute

Ermöglicht die Angabe, ob der Wert für eine Eigenschaft Visible ist und beibehalten werden soll, bzw. Hidden ist und nicht beibehalten werden soll oder ob der Wert aus Content besteht, der über Initialisierungscode verfügen sollte, der für jede öffentliche (nicht verborgene) Eigenschaft des Objekts, das der Eigenschaft zugewiesen ist, generiert wurde.

EditorAttribute

Beim Bearbeiten einer Eigenschaft erstellt ein visueller Designer eine neue Instanz des angegebenen Editors in einem Dialogfeld oder einem Dropdownfenster.

ParenthesizePropertyNameAttribute

Gibt im Fenster Eigenschaften an, ob der zugeordnete Eigenschaftenname in Klammern eingeschlossen werden sollte. Im Fenster Eigenschaften wird im oberen Teil der Liste (im alphabetischen Modus) oder im oberen Teil der entsprechenden Kategorie (im Kategoriemodus) ein in Klammern eingeschlossener Eigenschaftenname angezeigt.

MergablePropertyAttribute

Mit true gekennzeichnete Eigenschaften können mit Eigenschaften kombiniert werden, die zu anderen Objekten in einem Fenster mit dem Namen Eigenschaften gehören; mit false gekennzeichnete Eigenschaften müssen separat angezeigt werden. Die Standardeinstellung ist true.

RefreshPropertiesAttribute

Gibt an, wie ein Designer aktualisiert wird, wenn sich der zugehörige Eigenschaftswert ändert.

TypeConverterAttribute

Gibt an, welcher Typ als Konverter für das Objekt verwendet werden sollte, an das dieses Attribut gebunden ist.

Warnung

Aktivitätseigenschaften des Typs Hashtable werden in Codetrennungsworkflows nicht unterstützt.

In diesem Abschnitt

Verwenden von Abhängigkeitseigenschaften

Siehe auch

Konzepte

Erstellen von benutzerdefinierten Aktivitäten
Erstellen von benutzerdefinierten Aktivitäten

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.