共用方式為


建立自訂活動

若要建立基本自訂活動,您要自 Activity 類別或衍生類別繼承。 若要建立自訂複合活動,您要自 CompositeActivity 類別或衍生類別繼承。

注意

不支援所建立的自訂活動繼承自包含子活動的自訂活動。

您建立的自訂活動類別可定義自訂活動的屬性、事件和執行邏輯。

屬性

您可以在您的自訂活動使用兩種類型的活動屬性:中繼屬性和執行個體屬性。 中繼屬性在執行階段中為不變,因此,屬性在設計階段必須設定為常值。 如果在執行個體屬性可在設計階段設定或是該屬性可繫結至執行個體資料的狀況下,在執行階段之前不會決定真正的值。 工作流程執行期間,也可以直接修改執行個體屬性。

如需活動屬性的詳細資訊,請參閱使用活動屬性

執行邏輯

建立自訂活動時,您必須透過 Execute 方法明確地處理您活動的執行邏輯。 在您的活動中可能會視需要覆寫額外的 Activity 方法。

屬性

您的自訂活動可以使用各種屬性加以裝飾,以指示一些事項,如應載入何種活動設計工具、驗證活動時應使用何種驗證器等等。 下表列出所有您可用來裝飾您自訂活動的屬性。

屬性 描述

ActivityCodeGeneratorAttribute

指示何種 ActivityCodeGenerator 衍生類別可用於產生您自訂活動的編譯階段程式碼。

ActivityValidatorAttribute

指示何種 ActivityValidator 衍生類別可用於驗證您的自訂活動。

AlternateFlowActivityAttribute

指示活動支援替代流程。

ContentPropertyAttribute

指示不會序列化您自訂活動中特定屬性的屬性名稱。

DefaultEventAttribute

指示您自訂活動的預設事件。

DesignerAttribute

指示何種 ActivityDesigner 衍生類別可用於實作您自訂活動的設計階段服務。

DesignerCategoryAttribute

指示您自訂活動的設計工具屬於特定的分類。

DesignerSerializerAttribute

指示何種序列化程式 (ActivityMarkupSerializerActivityCodeDomSerializerActivityTypeCodeDomSerializerCompositeActivityMarkupSerializer 或上述任何之一的衍生) 將用於序列化您的自訂活動。

PersistOnCloseAttribute

指出當配置的活動完成其執行時,必須保存目前的工作流程執行個體。

RuntimeNamePropertyAttribute

指示您自訂活動的執行階段名稱。

ToolboxBitmapAttribute

指示用於在容器中 (如自訂工作流程設計工具) 表示您自訂活動的圖示。

ToolboxItemAttribute

指示何種 ActivityToolboxItem 衍生類別將與容器 (如自訂工作流程設計工具) 中的自訂活動一起使用。

ToolboxItemFilterAttribute

指示在容器中 (如自訂工作流程設計工具) 使用您的自訂活動時,自訂活動的篩選條件字串和篩選條件類型。

注意

如果您的自訂活動使用 PersistOnCloseAttribute,則使用您自訂活動的工作流程必須指定要使用的持續性服務,或是開始工作流程時擲回的例外狀況。

如果您用基底活動使用的屬性裝飾您的自訂活動,屬性可被「覆寫」,會對您的自訂活動使用被覆寫的值。 例如,您要為您的自訂活動建立自己的工具箱點陣圖,但仍要為您的基底活動使用預設的序列化工具和活動驗證器。 若要執行這項動作,您只需使用 ToolboxItemAttribute 裝飾您的自訂活動,並適當的設定該值。

從預設的 Windows Workflow Foundation 活動建立自訂活動

您可以從下列活動類型衍生您的自訂活動:

活動類型 描述

Activity

衍生出所有活動的基底類型。

CallExternalMethodActivity

在本機通訊期間呼叫主機上的方法。

CompositeActivity

所有衍生自此型別的複合活動。

HandleExternalEventActivity

處理本機通訊期間由主機引發的傳入事件。

SequenceActivity

用於建立自訂複合活動,這些活動讓子活動依序執行。

SequentialWorkflowActivity

用於建立循序工作流程。

StateActivity

用於狀態機器工作流程中,以處理指定狀態的事件或初始化。

StateMachineWorkflowActivity

用於建立狀態機器工作流程。

自訂活動

您可以選擇使用一組封裝特定功能的相關類別,來自訂對自訂活動的預設邏輯。

下列各節會對這些方面詳細說明:

建立自訂複合活動

序列化自訂活動

如何使用自訂活動產生程式碼

請參閱

參考

Activity
CompositeActivity
ActivityBind

概念

使用活動屬性
活動驗證邏輯概觀
建立自訂活動設計工具

其他資源

開發工作流程活動

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.