次の方法で共有


ツールボックス サービス

このトピックの内容は、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); 
}

サンプルを設定、ビルド、および実行するには

  1. Visual Studio 2010 を使用して、WorkflowSimulator.sln ソリューション ファイルを開きます。

  2. F6 キーを押して、ソリューションをビルドします。

  3. Workflow.xaml ファイルを開きます。

  4. ツールボックスから [CustomActivity] をドラッグ アンド ドロップして追加します。アクティビティ [Assign] が追加された [New WF Category] というツールボックス カテゴリが追加されます。

  5. 別のアクティビティを [CustomActivity] にドラッグして、この項目の選択を解除します。

  6. ツールボックスのカテゴリ [New WF Category] の項目 [Assign] が削除されます。また、このカテゴリには項目がほかにないので、カテゴリも削除されます。

  7. [CustomActivity] をもう一度選択すると、カテゴリと [Assign] アクティビティが再度追加されます。

Ee834520.Important(ja-jp,VS.100).gif 注 :
サンプルは、既にコンピューターにインストールされている場合があります。続行する前に、次の (既定の) ディレクトリを確認してください。

<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