2

Unity イベント アグリゲーターを使用して、アプリケーションのさまざまな部分間のメッセージングを行おうとしています。現在、これは私が使用したい Prism フレームワークの唯一の機能です。私が考える基本的な概念を理解するのに苦労しています。

私の目標は、ある場所で特定のイベントを放送し、そのイベントを別の場所で取り上げることです。私が見つけたコードには、Unity Container へのアクセスが必要です。これには、ブートストラップでの構成が必要であり、ブートストラップでウィンドウをインスタンス化する必要があることがわかります。これは、イベントアグリゲーターを使用したいだけの私の状況では、ジャンプするのに多くの余分なフープのように思えます.

イベントアグリゲータを使用し、Prism から他に何も使用しない最小限のコードについて、誰かが私を正しい方向に向けることができますか?

4

2 に答える 2

1

行う必要があるのは、prism が提供する EventAggregator クラスのインスタンスをインスタンス化することだけです。コンテナは必要ありません。私はシングルトンでそれをしました。使用したコードは次のとおりです。

public class MyEventAggregator
{
    private static MyEventAggregator instance = new MyEventAggregator();

    public static MyEventAggregator GetInstance()
    {
        return instance;
    }

    private EventAggregator _Aggregator;
    public EventAggregator Aggregator
    {
        get
        {
            return _Aggregator;
        }
    }

    private MyEventAggregator()
    {
        _Aggregator = new EventAggregator();
    }
}
于 2011-08-12T23:22:59.317 に答える
0

ブートストラップで Unity コンテナーを初期化する必要はなく、ウィンドウをインスタンス化するためにブートストラップは必要ありません。Unity コンテナーは、任意のクラスで初期化できます。唯一の問題は、Unity インスタンスをアプリケーション全体に広げて、必要な場所にアクセス可能な参照を持たせることです。

于 2011-08-08T09:47:03.553 に答える