ワークフローデザイナーを再ホストするアプリケーションを作成しています。私がしたことは、ApressのProWF4本のチュートリアルに従うことです。
チュートリアルの原則は次のとおり
です。1。WorkflowDesigner
クラスを使用してワークフローxamlファイルを読み取り、UIにバインドWorkflowDesigner.View
してPropertyView
プロパティを設定します。
2.クラスを使用してVSのようなツールボックスを作成し、ユーザーがこのツールボックスに追加されたアクティビティをドラッグアンドドロップできるようにします。3
。使用してコンテンツを作成します。ContentControl
System.Activities.Presentation.Toolbox.ToolboxControl
ToolboxControl
ToolboxCategory
ToolboxItemWrapper
さて、私の質問はここでToolboxItemWrapper
クラスに関連しています。ドキュメントに基づいて、コンストラクターはインスタンスではなくクラスタイプを使用しています。したがって、ドラッグアンドドロップすると、クラスがインスタンスにインスタンス化されます。
ドキュメントは次のとおりです:http:
//msdn.microsoft.com/en-us/library/system.activities.presentation.toolbox.toolboxitemwrapper.aspx
ただし、インスタンスを受け入れることができるようにハックしたいToolboxItemWrapper
ので、インスタンスをにドラッグアンドドロップするとWorkflowDesigner.View
、ビューにインスタンスが表示されます。
この機能を実現するためのアイデアや手がかりはありますか?
この機能が必要な理由:
デザイナーに「インスタンス」を追加するときに、ユーザーが簡単に使用できるようにしたいのです。ツールボックスに「タイプ」がある場合、ドラッグアンドドロップした後、パラメータを設定する必要があります。ツールボックスに「インスタンス」がある場合、ユーザーが行う必要があるのはドラッグアンドドロップだけで、それだけです。'タイプ'を設定するためにパラメータを入力する必要はありません。ワークフローを作成する際のユーザーの手順が少なくなります。
もう1つの制約は、ツールボックス内のアクティビティのリストが特定のモジュールに依存することです。この特定のモジュールは、インスタンスのリストを生成します。次に、これらの生成されたインスタンスをツールボックスのエントリに変換します。質問にこの情報を追加します