このトピックの内容は、Windows Workflow Foundation 4 に該当します。
このサンプルは、3 つのアクティビティ (CreateCity
、CreateState
、および CreateCountry
) で構成されます。CreateCity
は CreateState
アクティビティ内にある必要があり、CreateState
は CreateCountry
アクティビティ内にある必要があります。このサンプルの目的から、検証ロジックは、CreateState
アクティビティについてはコードで記述され、CreateCity
アクティビティについては XAML で記述されます。制約の動作は両方とも同じです。
.NET Framework Version 4 には、アクティビティ間の関係を検証するために使用できる次の 3 つのヘルパー アクティビティが用意されています。
- GetParentChain
現在のノードの親に属しているすべてのワークフロー要素のコレクションを提供します。
- GetChildSubtree
現在のノードのサブツリーに属しているすべてのワークフロー要素のコレクションを提供します (現在のノードを除く)。
- GetWorkflowTree
現在のノードと同じツリーにあるすべてのワークフロー要素のコレクションを提供します。
このサンプルでは、ForEach アクティビティを使用して、GetParentChain から返されたコレクション内のすべての要素を処理します。コレクション内の要素ごとに、その型が CreateCountry
(CreateCity
を検証する場合は CreateState
) と比較され、一致が見つかると、結果フラグが true に設定されます。最後に、結果フラグが false に設定される場合は、AssertValidation を使用して検証エラーが生成されます。
このサンプルを使用するには
Visual Studio 2010 で ContainmentValidation.sln サンプル ソリューションを開きます。
ソリューションをビルドします。
Ctrl キーを押しながら F5 キーを押して、プログラムを起動します。
![]() |
---|
サンプルは、既にコンピューターにインストールされている場合があります。続行する前に、次の (既定の) ディレクトリを確認してください。
<InstallDrive>:\WF_WCF_Samples
このディレクトリが存在しない場合は、「.NET Framework 4 向けの Windows Communication Foundation (WCF) および Windows Workflow Foundation (WF) のサンプル」にアクセスして、Windows Communication Foundation (WCF) および WF のサンプルをすべてダウンロードしてください。このサンプルは、次のディレクトリに格納されます。
<InstallDrive>:\WF_WCF_Samples\WF\Basic\Validation\ActivityRelationships
|