Page_SizeChanged イベントが WPF ブラウザー アプリケーションで発生したときにキャプチャし、Prism EventAggregator を介してイベントを公開する必要があります。私が興味を持っているページはたまたまシェル ページであるため、イベントアグリゲーターにアクセスできる ViewModel が添付されていません。
1 に答える
1
シェルを初期化するブートストラップ (つまり、UnityBootstrapper 派生クラス) では、基本クラスの ConfigureContainer メソッドの呼び出し中に IEventAgragator が Unity コンテナーに登録されます。したがって、ConfigureContainer をオーバーライドすると、イベント アグリゲーターを解決できます。
protected override void ConfigureContainer()
{
base.ConfigureContainer();
IEventAggregator eventService = Container.Resolve<IEventAggregator>();
}
この時点で、イベント アグリゲーター インスタンスを使用して shell\viewmodel にプロパティを設定したり、たとえばサービス ロケーター タイプ パターンを使用したりできます。それはあなた次第です。
于 2010-07-26T22:26:27.290 に答える