ステート マシン マークアップ ワークフローのサンプル

Download sample

このサンプルには、コード側を使用するマークアップ (XAML) として作成された単純なステート マシン ワークフローが含まれています。このサンプルでは、ステート マシン ワークフローを使用して、3 つの状態を持つ簡単なステート マシンを実装する方法を示します。ステート マシンは、Start 状態から State 1 状態へ、そして State 1 状態から CompletedState 状態へと移行します。

ステート マシン ワークフローは、複数の状態で構成されます。各状態は、1 つ以上のイベント ハンドラで構成されます。各イベント ハンドラには、最初のアクティビティとして、遅延または IEventActivity が含まれている必要があります。また、各イベント ハンドラには、ある状態から別の状態へ移行するために使用する SetStateActivity アクティビティを含めることができます。

各ステート マシン ワークフローには 2 つのプロパティ InitialStateNameCompletedStateName があります。ステート マシン ワークフローのインスタンスが作成されると、それが InitialStateName プロパティに設定されます。ステート マシンは、CompletedStateName プロパティに達すると、実行を完了します。

このサンプルでは、Start 状態が InitialStateName で、イベント ハンドラを持っています。イベント ハンドラの最初のアクティビティは、DelayActivity です。DelayActivity アクティビティの遅延タイムアウトは 2 秒です。イベント ハンドラには、State 1 へ移行するための SetStateActivity もあります。

State 1 は Start 状態と似ていて、これには遅延アクティビティを含む イベント ハンドラがあります。遅延タイムアウトは 2 秒に設定されます。イベント ハンドラには、State 2 へ移行する状態設定アクティビティもあります。

最終の状態は CompletedState 状態です。CompletedState に移行すると、ステート マシンは実行を停止します。

ステート マシン ワークフローをマークアップとして作成するには

  1. プロジェクトを右クリックして、[追加] をポイントし、[新しい項目] を選択します。

  2. [ステート マシンのワークフロー (コード分離付き)] をクリックします。

    ワークフローを作成したら、コードのみのワークフローを使用しているときと同じように、アクティビティを追加し、プロジェクト内でワークフローを使用できます。

サンプルをビルドするには

  1. [サンプルのダウンロード] をクリックしてサンプルをダウンロードします。

    サンプル プロジェクトがローカル コンピュータのハード ディスクにダウンロードされます。

  2. [スタート] ボタンをクリックし、[すべてのプログラム] をポイントします。次に、[Microsoft Windows SDK] をポイントし、[CMD シェル] をクリックします。

  3. サンプルのソース ディレクトリに移動します。

  4. コマンド プロンプトで、「MSBUILD <ソリューション ファイル名>」と入力します。

サンプルを実行するには

  • 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.