共用方式為


StateActivity 類別

定義

警告

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

表示 StateMachineWorkflowActivity中的狀態。

public ref class StateActivity : System::Workflow::ComponentModel::CompositeActivity
[System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateActivity), "Resources.StateActivity.png")]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))]
public class StateActivity : System.Workflow.ComponentModel.CompositeActivity
[System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateActivity), "Resources.StateActivity.png")]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))]
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public class StateActivity : System.Workflow.ComponentModel.CompositeActivity
[<System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateActivity), "Resources.StateActivity.png")>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))>]
type StateActivity = class
    inherit CompositeActivity
[<System.Drawing.ToolboxBitmap(typeof(System.Workflow.Activities.StateActivity), "Resources.StateActivity.png")>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Workflow.ComponentModel.Compiler.ActivityValidator(typeof(System.Workflow.Activities.StateActivityValidator))>]
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type StateActivity = class
    inherit CompositeActivity
Public Class StateActivity
Inherits CompositeActivity
繼承
衍生
屬性

範例

下列程式代碼範例示範如何建立 StateActivity 類別的新實例,並使用它實作簡單的狀態機器,以在 3 種狀態之間轉換。 此程式代碼範例是來自 StateMachineWorkflow.cs 檔案的 SimpleStateMachineWorkflow SDK 範例的一部分。 如需詳細資訊,請參閱 簡單狀態機器

this.WhileLoop = new System.Workflow.Activities.WhileActivity();
this.Parallel = new System.Workflow.Activities.ParallelActivity();
this.Sequence1 = new System.Workflow.Activities.SequenceActivity();
this.Sequence2 = new System.Workflow.Activities.SequenceActivity();
this.ConsoleMessage1 = new System.Workflow.Activities.CodeActivity();
this.ConsoleMessage2 = new System.Workflow.Activities.CodeActivity();
//
// WhileLoop
//
this.WhileLoop.Activities.Add(this.Parallel);
codecondition1.Condition += new System.EventHandler<System.Workflow.Activities.ConditionalEventArgs>(this.WhileCondition);
this.WhileLoop.Condition = codecondition1;
this.WhileLoop.Name = "WhileLoop";
//
// Parallel
//
this.Parallel.Activities.Add(this.Sequence1);
this.Parallel.Activities.Add(this.Sequence2);
this.Parallel.Name = "Parallel";
Me.WhileLoop = New System.Workflow.Activities.WhileActivity()
Me.Parallel = New System.Workflow.Activities.ParallelActivity()
Me.Sequence1 = New System.Workflow.Activities.SequenceActivity()
Me.Sequence2 = New System.Workflow.Activities.SequenceActivity()
Me.ConsoleMessage1 = New System.Workflow.Activities.CodeActivity()
Me.ConsoleMessage2 = New System.Workflow.Activities.CodeActivity()
' 
' WhileLoop
' 
Me.WhileLoop.Activities.Add(Me.Parallel)
AddHandler codecondition1.Condition, AddressOf Me.WhileCondition
Me.WhileLoop.Condition = codecondition1
Me.WhileLoop.Name = "WhileLoop"
' 
' Parallel
' 
Me.Parallel.Activities.Add(Me.Sequence1)
Me.Parallel.Activities.Add(Me.Sequence2)
Me.Parallel.Name = "Parallel"

備註

注意

此數據會討論已過時的類型和命名空間。 如需詳細資訊,請參閱 windows Workflow Foundation 4.5中 已被取代的類型。

StateActivity 代表 StateMachineWorkflowActivity中的狀態。 狀態活動可以包含一或多個 EventDrivenActivity、或 StateActivity 類別、一個 StateInitializationActivity 類別,以及一個 StateFinalizationActivity 類別。 SetState 活動會在 EventHandlersActivity 內使用,並 StateInitializationActivity 來移動工作流程的狀態。

執行 StateActivity 時,唯一可以接收的事件是 StateActivityEventDrivenActivity 活動可以處理的事件,以及附加至封入 StateActivity 活動和根 ActivityEventDrivenActivity 活動。

StateActivity 開始執行時,StateActivity 會檢查 StateInitializationActivity 活動是否存在。 StateActivity 可以有零或一個 StateInitializationActivity 活動。 如果 StateInitializationActivity 活動存在,則會執行 StateInitializationActivity。 一旦 StateInitializationActivity 活動完成,StateActivity 就會封鎖事件,讓 StateActivity 只接收可由其 EventDrivenActivity 活動處理的事件。

StateActivityCompositeActivity,這表示 StateActivity 活動可以包含其他活動。

建構函式

StateActivity()
已淘汰.

初始化 StateActivity 類別的新實例。

StateActivity(String)
已淘汰.

使用活動的名稱,初始化 StateActivity 類別的新實例。

欄位

StateChangeTrackingDataKey
已淘汰.

保留變更追蹤數據索引鍵的字串值;“StateActivity.StateChange”。 此欄位是常數。

屬性

Activities
已淘汰.

取得物件,表示所有子活動的集合 ActivityCollection

(繼承來源 CompositeActivity)
CanModifyActivities
已淘汰.

取得或設定值,這個值控制是否可以修改 Activities 內的個別活動。

(繼承來源 CompositeActivity)
Description
已淘汰.

取得或設定 Activity的使用者定義描述。

(繼承來源 Activity)
DesignMode
已淘汰.

取得值,這個值表示這個實例處於設計或運行時間模式。

(繼承來源 DependencyObject)
Enabled
已淘汰.

取得或設定值,這個值表示是否啟用這個實例來執行和驗證。

(繼承來源 Activity)
EnabledActivities
已淘汰.

取得唯讀集合,表示已啟用 Activities 子集。

(繼承來源 CompositeActivity)
ExecutionResult
已淘汰.

取得上次執行這個實例之嘗試 ActivityExecutionResult

(繼承來源 Activity)
ExecutionStatus
已淘汰.

取得這個實例目前的 ActivityExecutionStatus

(繼承來源 Activity)
IsDynamicActivity
已淘汰.

取得活動是否在工作流程實例的預設 ActivityExecutionContext 內執行的相關信息。

(繼承來源 Activity)
Name
已淘汰.

取得或設定這個實例的名稱。 此名稱必須符合工作流程專案中所使用之程式設計語言的變數命名慣例。

(繼承來源 Activity)
Parent
已淘汰.

取得包含這個 ActivityCompositeActivity

(繼承來源 Activity)
ParentDependencyObject
已淘汰.

取得 DependencyObject 圖形中的父 DependencyObject

(繼承來源 DependencyObject)
QualifiedName
已淘汰.

取得活動的限定名稱。 限定的活動名稱在工作流程實例中一律是唯一的。

(繼承來源 Activity)
Site
已淘汰.

取得或設定 DependencyObjectSite 元件的參考。

(繼承來源 DependencyObject)
UserData
已淘汰.

取得將自定義數據與這個類別實例產生關聯的 IDictionary

(繼承來源 DependencyObject)
WorkflowInstanceId
已淘汰.

取得與 實例相關聯的 Guid

(繼承來源 Activity)

方法

AddHandler(DependencyProperty, Object)
已淘汰.

DependencyObject的事件新增處理程式。

(繼承來源 DependencyObject)
ApplyWorkflowChanges(WorkflowChanges)
已淘汰.

將參數中的 WorkflowChanges 指令清單套用至這個實例。

(繼承來源 CompositeActivity)
Cancel(ActivityExecutionContext)
已淘汰.

取消執行 StateActivity

Clone()
已淘汰.

建立 Activity的深層複本。

(繼承來源 Activity)
Dispose()
已淘汰.

釋放 DependencyObject所使用的所有資源。

(繼承來源 DependencyObject)
Dispose(Boolean)
已淘汰.

在此實例上呼叫 Dispose(Boolean),並選擇性地在此實例的所有子活動上呼叫 Dispose()

(繼承來源 CompositeActivity)
Equals(Object)
已淘汰.

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
Execute(ActivityExecutionContext)
已淘汰.

執行 StateActivity

GetActivityByName(String, Boolean)
已淘汰.

如果第二個參數是 falseActivity,而且在第二個參數是 true,則傳回 Activity 的名稱是從 Activity 根目錄下的所有活動集合要求之 Activity 的實例。

(繼承來源 Activity)
GetActivityByName(String)
已淘汰.

傳回 Activity 的實例,其名稱是從此實例根活動下執行的所有活動集要求,也就是工作流程內。

(繼承來源 Activity)
GetBinding(DependencyProperty)
已淘汰.

提供與特定 DependencyProperty相關聯之 ActivityBind 的存取權。

(繼承來源 DependencyObject)
GetBoundValue(ActivityBind, Type)
已淘汰.

擷取 ActivityBind主旨的 Object

(繼承來源 DependencyObject)
GetDynamicActivities(Activity)
已淘汰.

傳回數位,其中包含目前執行中指定活動的所有實例。

(繼承來源 CompositeActivity)
GetDynamicActivity(String)
已淘汰.

取得對應至指定子活動名稱之 Activity 的執行實例。

GetHashCode()
已淘汰.

做為預設哈希函式。

(繼承來源 Object)
GetInvocationList<T>(DependencyProperty)
已淘汰.

取得陣列,其中包含指定之 DependencyProperty的委派。

(繼承來源 DependencyObject)
GetType()
已淘汰.

取得目前實例的 Type

(繼承來源 Object)
GetValue(DependencyProperty)
已淘汰.

提供指定之 DependencyProperty值的存取權。

(繼承來源 DependencyObject)
GetValueBase(DependencyProperty)
已淘汰.

提供 DependencyProperty 系結物件的存取權,並略過 GetValue(DependencyProperty) 覆寫。

(繼承來源 DependencyObject)
HandleFault(ActivityExecutionContext, Exception)
已淘汰.

當這個實例執行的內容中引發例外狀況時呼叫。

(繼承來源 CompositeActivity)
Initialize(IServiceProvider)
已淘汰.

使用服務提供者初始化 StateActivity

InitializeProperties()
已淘汰.

在衍生類別中覆寫時,對相依性屬性執行初始化。

(繼承來源 DependencyObject)
Invoke<T>(EventHandler<T>, T)
已淘汰.

訂閱 EventHandler 並叫用該委派。

(繼承來源 Activity)
Invoke<T>(IActivityEventListener<T>, T)
已淘汰.

訂閱 IActivityEventListener<T> 並叫用該委派。

(繼承來源 Activity)
IsBindingSet(DependencyProperty)
已淘汰.

指出 DependencyProperty 的值是否設定為系結。 請參閱 SetBinding(DependencyProperty, ActivityBind)

(繼承來源 DependencyObject)
MemberwiseClone()
已淘汰.

建立目前 Object的淺層複本。

(繼承來源 Object)
MetaEquals(DependencyObject)
已淘汰.

判斷這個 DependencyObjectmetaproperties 是否等於參數化 DependencyObjectmetaproperties

(繼承來源 DependencyObject)
OnActivityChangeAdd(ActivityExecutionContext, Activity)
已淘汰.

判斷要加入的活動是否為 EventDrivenActivity,如果是,請確認是否需要訂閱新加入的事件驅動。

OnActivityChangeRemove(ActivityExecutionContext, Activity)
已淘汰.

拿掉活動時呼叫。

(繼承來源 CompositeActivity)
OnActivityExecutionContextLoad(IServiceProvider)
已淘汰.

每次載入此活動的 ActivityExecutionContext 時,工作流程運行時間引擎都會呼叫。

(繼承來源 CompositeActivity)
OnActivityExecutionContextUnload(IServiceProvider)
已淘汰.

每次卸除此活動的 ActivityExecutionContext 時,工作流程運行時間引擎都會呼叫。

(繼承來源 CompositeActivity)
OnClosed(IServiceProvider)
已淘汰.

由工作流程運行時間引擎呼叫,作為活動轉換至 Closed 狀態的一部分。

OnListChanged(ActivityCollectionChangeEventArgs)
已淘汰.

Activities 屬性變更時,執行其他處理。

(繼承來源 CompositeActivity)
OnListChanging(ActivityCollectionChangeEventArgs)
已淘汰.

在對基礎 Activities進行變更之前所發生的事件。

(繼承來源 CompositeActivity)
OnWorkflowChangesCompleted(ActivityExecutionContext)
已淘汰.

在此實例的集合 Activities 變更之後呼叫。

(繼承來源 CompositeActivity)
RaiseEvent(DependencyProperty, Object, EventArgs)
已淘汰.

引發與指定相依性屬性相關聯的 Event

(繼承來源 Activity)
RaiseGenericEvent<T>(DependencyProperty, Object, T)
已淘汰.

引發與參考 DependencyProperty相關聯的事件。

(繼承來源 Activity)
RegisterForStatusChange(DependencyProperty, IActivityEventListener<ActivityExecutionStatusChangedEventArgs>)
已淘汰.

註冊狀態變更事件的指定 DependencyProperty

(繼承來源 Activity)
RemoveHandler(DependencyProperty, Object)
已淘汰.

從相關聯的 DependencyProperty移除 EventHandler

(繼承來源 DependencyObject)
RemoveProperty(DependencyProperty)
已淘汰.

DependencyObject移除 DependencyProperty

(繼承來源 DependencyObject)
Save(Stream, IFormatter)
已淘汰.

使用針對串行化提供的自定義 IFormatter,將 Activity 寫入至持續性 Stream

(繼承來源 Activity)
Save(Stream)
已淘汰.

Activity 寫入 Stream 以進行持續性。

(繼承來源 Activity)
SetBinding(DependencyProperty, ActivityBind)
已淘汰.

設定指定之 DependencyPropertyActivityBind

(繼承來源 DependencyObject)
SetBoundValue(ActivityBind, Object)
已淘汰.

設定目標 ActivityBind的值。

(繼承來源 DependencyObject)
SetReadOnlyPropertyValue(DependencyProperty, Object)
已淘汰.

設定 DependencyProperty的值,這是唯讀的。

(繼承來源 DependencyObject)
SetValue(DependencyProperty, Object)
已淘汰.

DependencyProperty 的值設定為物件。

(繼承來源 DependencyObject)
SetValueBase(DependencyProperty, Object)
已淘汰.

DependencyProperty 的值設定為指定的 Object,略過 SetValue(DependencyProperty, Object)

(繼承來源 DependencyObject)
ToString()
已淘汰.

提供表示這個實例的字串。

(繼承來源 Activity)
TrackData(Object)
已淘汰.

通知運行時間追蹤基礎結構擱置的追蹤資訊。

(繼承來源 Activity)
TrackData(String, Object)
已淘汰.

通知運行時間追蹤基礎結構擱置的追蹤資訊。

(繼承來源 Activity)
Uninitialize(IServiceProvider)
已淘汰.

當活動從 Initialized 狀態轉換成 Closed 狀態時,由工作流程運行時間引擎呼叫。

(繼承來源 CompositeActivity)
UnregisterForStatusChange(DependencyProperty, IActivityEventListener<ActivityExecutionStatusChangedEventArgs>)
已淘汰.

取消註冊狀態變更事件的指定 DependencyProperty

(繼承來源 Activity)

事件

Canceling
已淘汰.

發生於取消活動執行時。

(繼承來源 Activity)
Closed
已淘汰.

發生於 Activity 已完成執行時。

(繼承來源 Activity)
Compensating
已淘汰.

Activity上執行補償方法時發生。

(繼承來源 Activity)
Executing
已淘汰.

執行 Activity 時發生。

(繼承來源 Activity)
Faulting
已淘汰.

在實例執行期間引發例外狀況時發生。

(繼承來源 Activity)
StatusChanged
已淘汰.

發生於執行中 ActivityActivityExecutionStatus 變更時。

(繼承來源 Activity)

明確介面實作

IComponent.Disposed
已淘汰.

表示處理元件 Disposed 事件的方法。

(繼承來源 DependencyObject)

適用於

另請參閱

  • 使用狀態活動