ツールボックス サービス
このトピックの内容は、Windows Workflow Foundation 4 に該当します。
このサンプルでは、ワークフローのコンテキストに基づいて Visual Studio 2010 ツールボックス アクティビティを更新する方法を示します。このサンプルには、カスタム アクティビティが選択されているかどうかに基づいてツールボックスの内容を変更するワークフローが含まれています。
説明
ワークフローの作成中には、通常、状況に応じてツールボックスが変化することが求められます。たとえば、特定のアクティビティをワークフローに追加すると、別のアクティビティがいくつかツールボックスに表示されるようにすることが必要な場合があります。アクティビティをワークフローから削除したときは、ドメインの要件に基づいてツールボックスが適切に応答する必要があります。
ホストを変更したワークフロー デザイナーでは、ツールボックス コントロールを制御し、ワークフローのモデル変更に基づいて、ホストによってツールボックス コントロールで適切な変更がトリガーされるようにすることができます。ただし、Visual Studio 2010 では、ツールボックスをユーザーが制御することはないので、その内容を変更するにはインターフェイスが必要です。IActivityToolboxService
がこのインターフェイスに当たります。
この API には、次の 4 つのメソッドが用意されています。
public interface IActivityToolboxService
{
void AddCategory(string categoryName);
void RemoveCategory(string categoryName);
void AddItem(string qualifiedTypeName, string categoryName);
void RemoveItem(string qualifiedTypeName, string categoryName);
IList<string> EnumCategories();
IList<string> EnumItems(string categoryName);
}
サンプルを設定、ビルド、および実行するには
Visual Studio 2010 を使用して、WorkflowSimulator.sln ソリューション ファイルを開きます。
F6 キーを押して、ソリューションをビルドします。
Workflow.xaml ファイルを開きます。
ツールボックスから [CustomActivity] をドラッグ アンド ドロップして追加します。アクティビティ [Assign] が追加された [New WF Category] というツールボックス カテゴリが追加されます。
別のアクティビティを [CustomActivity] にドラッグして、この項目の選択を解除します。
ツールボックスのカテゴリ [New WF Category] の項目 [Assign] が削除されます。また、このカテゴリには項目がほかにないので、カテゴリも削除されます。
[CustomActivity] をもう一度選択すると、カテゴリと [Assign] アクティビティが再度追加されます。
注 : |
---|
サンプルは、既にコンピューターにインストールされている場合があります。続行する前に、次の (既定の) ディレクトリを確認してください。
<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\Designer\IActivityToolboxService
|