使用Prism和Event Aggregator处理页面大小更改事件

时间:2010-07-26 22:12:21

标签: c# prism eventaggregator

我需要在WPF浏览器应用程序中触发Page_SizeChanged事件时捕获并通过Prism EventAggregator发布事件。由于我感兴趣的页面恰好是Shell页面,因此我没有附加ViewModel,我可以访问eventaggregator。

1 个答案:

答案 0 :(得分:1)

在初始化shell的引导程序(即UnityBootstrapper派生类)中,IEventAggragator在调用基类ConfigureContainer方法期间向Unity容器注册。因此,如果重写ConfigureContainer,则可以解析事件聚合器:

protected override void ConfigureContainer()
{
    base.ConfigureContainer();

    IEventAggregator eventService = Container.Resolve<IEventAggregator>();
}

此时,您可以使用事件聚合器实例在shell \ viewmodel上设置属性,或者使用服务定位器类型模式。随你(由你决定。