狀態機器標記工作流程範例

Download sample

這個範例包含的簡單狀態機器工作流程,已經使用程式碼除外建立為標記 (XAML)。這個範例會使用狀態機器工作流程來實作具有三種狀態的簡單狀態機器。狀態機器會從 Start 狀態轉換到 State 1,然後再從 State 1 轉換到 CompletedState。

狀態機器工作流程包含了狀態。每個狀態都由一個或多個事件處理常式組成。每個事件處理常式都必須包含延遲或 IEventActivity 做為第一個活動。每個事件處理常式也都能包含用來從一個狀態轉換到另一個狀態的 SetStateActivity 活動。

每個狀態機器工作流程都有兩個屬性:InitialStateNameCompletedStateName。當建立狀態機器工作流程的執行個體之後,工作流程就會進入 InitialStateName 屬性。當狀態機器達到 CompletedStateName 屬性時,表示工作流程完成執行。

在此範例中,Start 狀態是 InitialStateName,而且具有一個事件處理常式。該事件處理常式則具有做為所屬第一個活動的 DelayActivity 活動。DelayActivity 活動有兩秒鐘的延遲逾時。事件處理常式也有可轉換至 State 1 的 SetStateActivity

State 1 與 Start 狀態相似,而且具有內含延遲活動的事件處理常式。延遲逾時已設定為兩秒鐘。事件處理常式也有可轉換至 State 2 的設定狀態活動。

CompletedState 是最終的狀態。當轉換至 CompletedState 時,狀態機器便會停止執行。

將狀態機器工作流程建立為標記

  1. 以滑鼠右鍵按一下專案、指向 [新增],然後選取 [新增項目]。

  2. 選取 [狀態機器工作流程 (程式碼分開置放)]。

    在建立工作流程之後,您就能夠新增活動,並以使用僅適用程式碼之工作流程的相同方式,在專案中使用此工作流程。

建置範例

  1. 按一下 [下載範例] 來下載範例。

    這樣會將範例專案擷取到本機硬碟上。

  2. 按一下 [開始],並依序指向 [程式集] 和 [Microsoft Windows SDK],再按一下 [CMD 殼層]。

  3. 移至範例的來源目錄。

  4. 在命令提示字元上,輸入 MSBUILD <Solution file name>

執行範例

  • 在 [SDK 命令提示字元] 視窗中,於 StateMachineMarkupWorkflow\bin\debug 資料夾 (若是範例的 VB 版本,則是 StateMachineMarkupWorkflow\bin 資料夾) 中執行此 .exe 檔案,該資料夾位於此範例的主要資料夾下方。

請參閱

其他資源

Using Workflow Markup
State Machine Workflows
Workflow Authoring Styles

Footer image

Copyright © 2007 by Microsoft Corporation. All rights reserved.