ステート マシン マークアップ ワークフローのサンプル
このサンプルには、コード側を使用するマークアップ (XAML) として作成された単純なステート マシン ワークフローが含まれています。このサンプルでは、ステート マシン ワークフローを使用して、3 つの状態を持つ簡単なステート マシンを実装する方法を示します。ステート マシンは、Start 状態から State 1 状態へ、そして State 1 状態から CompletedState 状態へと移行します。
ステート マシン ワークフローは、複数の状態で構成されます。各状態は、1 つ以上のイベント ハンドラで構成されます。各イベント ハンドラには、最初のアクティビティとして、遅延または IEventActivity が含まれている必要があります。また、各イベント ハンドラには、ある状態から別の状態へ移行するために使用する SetStateActivity アクティビティを含めることができます。
各ステート マシン ワークフローには 2 つのプロパティ InitialStateName と CompletedStateName があります。ステート マシン ワークフローのインスタンスが作成されると、それが InitialStateName プロパティに設定されます。ステート マシンは、CompletedStateName プロパティに達すると、実行を完了します。
このサンプルでは、Start 状態が InitialStateName で、イベント ハンドラを持っています。イベント ハンドラの最初のアクティビティは、DelayActivity です。DelayActivity アクティビティの遅延タイムアウトは 2 秒です。イベント ハンドラには、State 1 へ移行するための SetStateActivity もあります。
State 1 は Start 状態と似ていて、これには遅延アクティビティを含む イベント ハンドラがあります。遅延タイムアウトは 2 秒に設定されます。イベント ハンドラには、State 2 へ移行する状態設定アクティビティもあります。
最終の状態は CompletedState 状態です。CompletedState に移行すると、ステート マシンは実行を停止します。
ステート マシン ワークフローをマークアップとして作成するには
プロジェクトを右クリックして、[追加] をポイントし、[新しい項目] を選択します。
[ステート マシンのワークフロー (コード分離付き)] をクリックします。
ワークフローを作成したら、コードのみのワークフローを使用しているときと同じように、アクティビティを追加し、プロジェクト内でワークフローを使用できます。
サンプルをビルドするには
[サンプルのダウンロード] をクリックしてサンプルをダウンロードします。
サンプル プロジェクトがローカル コンピュータのハード ディスクにダウンロードされます。
[スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft Windows SDK] をポイントし、[CMD シェル] をクリックします。
サンプルのソース ディレクトリに移動します。
コマンド プロンプトで、「MSBUILD <ソリューション ファイル名>」と入力します。
サンプルを実行するには
- SDK コマンド プロンプト ウィンドウで、StateMachineMarkupWorkflow\bin\debug フォルダ (このサンプルの VB バージョンでは StateMachineMarkupWorkflow\bin フォルダ) にある .exe ファイルを実行します (このサンプルでは、メイン フォルダの下にあります)。
関連項目
その他の技術情報
Using Workflow Markup
State Machine Workflows
Workflow Authoring Styles
Copyright © 2007 by Microsoft Corporation.All rights reserved.