C#WPF MAFアドインインタラクション間の相互作用
質問
WPFでMAFを使用して非常にシンプルなペイントアプリケーションを作成したいと思います。
私が作成したいAdd Insは次のとおりです。
- メインイメージプロセッサ - 現在のペイントを表示し、ユーザーから入力を受信します
- ツールボックス - ユーザーは、いくつかの種類の図面ツールを選択できます
- レイヤー - ユーザーは、表示するレイヤーを選択し、レイヤーを削除し、作業するレイヤーを選択できます
問題は、ホストを使用せずに異なるアドイン間でどのように対話できるかということです。
ありがとう、ロニー
解決
私がそれをする方法は、ホストが発見されているときに各アドインをコレクションに収集し、そのコレクションを初期化して各アドインに渡すことです。あなたがアドインに渡すのは、他のアドインのインターフェイスです。それは本当にすべてのホストがそれらについて知っているからです。
ホストは各アドインを初期化し、その後すべて初期化されたら、それらをアクティブ化するように信号を送り、そこで他のアドインを発見してやります。各アドインは、WHOAREYOUメソッドを公開して、アクティブ化されたときに他の人がインストールされている人を見つけることができるようにする必要があります。基本クラスからアドインを導き出すと、これが簡素化されます。あなたがそれを理解したら、それはそれらすべてのために行われます。
このアプローチでは、ホストを使用してアドインインターフェイスを収集および配布するだけで、アドインはホストを介してメッセージをルーティングする代わりに契約パイプラインを介して直接通信します。
所属していません StackOverflow