次の方法で共有


方法: シーケンシャル ワークフローを作成する

ワークフローは、ビルトイン アクティビティおよびカスタム アクティビティから構築できます。 このトピックでは、Sequence アクティビティなどのビルトイン アクティビティ、および前の「方法: アクティビティを作成する」トピックのカスタム アクティビティの両方を使用するワークフローを作成します。 このワークフローは、数値推測ゲームをモデル化しています。

注意

チュートリアル入門の各トピックは、前のトピックに応じて異なります。 このトピックを完了するには、まず「方法: アクティビティを作成する」を完了しておく必要があります。

ワークフローを作成するには

  1. ソリューション エクスプローラーNumberGuessWorkflowActivities を右クリックし、 [追加][新しい項目] の順に選択します。

  2. [インストール済み][共通項目] ノードで、 [ワークフロー] を選択します。 [ワークフロー] 一覧から [アクティビティ] を選択します。

  3. [名前] ボックスに「SequentialNumberGuessWorkflow」と入力し、[追加] をクリックします。

  4. ツールボックス[制御フロー] セクションから Sequence アクティビティをドラッグし、ワークフロー デザイン サーフェイスの [ここにアクティビティをドロップ] ラベルの上にドロップします。

ワークフロー変数および引数を作成するには

  1. ソリューション エクスプローラーSequentialNumberGuessWorkflow.xaml をダブルクリックし、デザイナーにワークフローを表示します (まだ表示されていない場合)。

  2. ワークフロー デザイナーの左下にある [引数] をクリックし、 [引数] ペインを表示します。

  3. [Create Argument] (引数の作成) をクリックします。

  4. [名前] ボックスに「MaxNumber」と入力し、[方向] ドロップダウン リストから [入力] を選択し、[引数の型] ドロップダウン リストから [Int32] を選択して、Enter キーを押して引数を保存します。

  5. [Create Argument] (引数の作成) をクリックします。

  6. 新しく追加した MaxNumber 引数の下にある [名前] ボックスに「Turns」と入力し、[方向] ボックスで [出力] を選択して、[引数の型] ドロップダウン リストで [Int32] を選択し、Enter キーを押します。

  7. アクティビティ デザイナーの左下にある [引数] をクリックして、[引数] ウィンドウを閉じます。

  8. ワークフロー デザイナーの左下にある [変数] をクリックし、 [変数] ペインを表示します。

  9. [変数の作成] をクリックします。

    ヒント

    [変数の作成] ボックスが表示されていない場合は、ワークフロー デザイナー画面の Sequence アクティビティをクリックして選択します。

  10. [名前] ボックスに「Guess」と入力し、[変数の型] ボックスで [Int32] を選択し、Enter キーを押して変数を保存します。

  11. [変数の作成] をクリックします。

  12. [名前] ボックスに「Target」と入力し、[変数の型] ボックスで [Int32] を選択し、Enter キーを押して変数を保存します。

  13. アクティビティ デザイナーの左下にある [変数] をクリックして、[変数] ウィンドウを閉じます。

ワークフロー アクティビティを追加するには

  1. ツールボックス[プリミティブ] セクションから Assign アクティビティをドラッグし、Sequence アクティビティにドロップします。 [終端側] ボックスに「Target」と入力し、[C# の式を入力してください] ボックスまたは [VB の式を入力してください] ボックスに次の式を入力します。

    New System.Random().Next(1, MaxNumber + 1)
    
    new System.Random().Next(1, MaxNumber + 1)
    

    ヒント

    [ツールパレット] ウィンドウが表示されていない場合は、[表示] メニューから [ツールパレット] を選択します。

  2. ツールボックス[制御フロー] セクションから DoWhile アクティビティをドラッグし、ワークフロー上の Assign アクティビティの下にドロップします。

  3. DoWhile アクティビティの [Condition] プロパティ値ボックスに次の式を入力します。

    Guess <> Target
    
    Guess != Target
    

    DoWhile アクティビティはその子アクティビティを実行し、その Condition を評価します。 ConditionTrue と評価される場合、DoWhile 内のアクティビティが再度実行されます。 この例では、ユーザーの推定値が評価され、推定値が正しいと判断されるまで DoWhile が続行されます。

  4. ツールボックス[NumberGuessWorkflowActivities] セクションから Prompt アクティビティをドラッグし、前の手順の DoWhile アクティビティの下にドロップします。

  5. [プロパティ] ウィンドウで、Prompt アクティビティの [BookmarkName] プロパティ値ボックスに「"EnterGuess"」(引用符を含む) と入力します。 [Result] プロパティ値ボックスに「Guess」と入力し、[Text] プロパティ ボックスに次の式を入力します。

    "Please enter a number between 1 and " & MaxNumber
    
    "Please enter a number between 1 and " + MaxNumber
    

    ヒント

    [プロパティ] ウィンドウが表示されていない場合は、 [表示] メニューから [プロパティ ウィンドウ] を選択します。

  6. ツールボックス[プリミティブ] セクションから Assign アクティビティをドラッグし、Prompt アクティビティの後になるように DoWhile アクティビティ内にドロップします。

    注意

    Assign アクティビティをドロップするときに、ワークフロー デザイナーによって、Prompt アクティビティと新しく追加した Assign アクティビティの両方を含む Sequence アクティビティが自動的に追加されることに注意してください。

  7. [終端側] ボックスに「Turns」と入力し、[C# の式を入力してください] ボックスまたは [VB の式を入力してください] ボックスに「Turns + 1」と入力します。

  8. ツールボックス[制御フロー] セクションから If アクティビティをドラッグし、新しく追加した Assign アクティビティの後になるように Sequence アクティビティ内にドロップします。

  9. If アクティビティの [Condition] プロパティ値ボックスに次の式を入力します。

    Guess <> Target
    
    Guess != Target
    
  10. ツールボックス[制御フロー] セクションから If アクティビティをドラッグし、最初の If アクティビティの Then セクションにドロップします。

  11. 新しく追加した If アクティビティの [Condition] プロパティ値ボックスに次の式を入力します。

    Guess < Target
    
  12. ツールボックス[プリミティブ] セクションから 2 つの WriteLine アクティビティをドラッグし、1 つは新しく追加した If アクティビティの Then セクション内に、もう 1 つは Else セクション内に配置されるようにドロップします。

  13. Then セクションの WriteLine アクティビティをクリックして選択し、 [Text] プロパティ値ボックスに次の式を入力します。

    "Your guess is too low."
    
  14. Else セクションの WriteLine アクティビティをクリックして選択し、 [Text] プロパティ値ボックスに次の式を入力します。

    "Your guess is too high."
    

    次の例は完成したワークフローを示しています。

    Screenshot that shows the completed sequential workflow.

ワークフローをビルドするには

  1. Ctrl + Shift + B キーを押して、ソリューションをビルドします。

    ワークフローの実行方法については、次のトピック「方法: ワークフローを実行する」を参照してください。 「方法: ワークフローを実行する」の手順を別のスタイルのワークフローを使用して既に完了している場合に、この手順のシーケンシャル ワークフローを使用して実行するには、「方法: ワークフローを実行する」の「アプリケーションをビルドして実行するには」に進んでください。

関連項目