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
Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.