我对Prism(复合Wpf)完全陌生。我想为我的应用程序创建消息传递模块:主窗口顶部的不可见面板,当我调用ShowMessage(string message)时出现(例如,在5秒钟后消失)。

我所做的:


创建基础结构项目(仅包含一个接口IUIMessagesService
创建模块项目:


项目包含用户控件-它是消息的面板(查看)
项目包含UIMessagesService类,该类实现了IUIMessagesService
在模块类中,我这样做:


public UIMessagesModule(IRegionManager regionManager, IUnityContainer container){ _regionManager = regionManager; _container = container;}




    public void Initialize()
    {
        _regionManager.RegisterViewWithRegion("UIMessagesRegion", typeof(UIMessagesView));
        _container.RegisterType<IUIMessagesService, UIMessagesService>(new ContainerControlledLifetimeManager());
    }



创建外壳项目(引导程序,带有区域e.t.c的外壳视图)


问题:


如何在类UIMessagesService中更改视图的属性(在本例中为显示面板的RenderTrasform)?我可能需要在视图模型中定义theese属性吗?如何更改视图模型属性?
如何从应用程序执行模块方法ShowMessages

最佳答案

对于第一个问题,您可以使用事件聚合
第二:

您可以使用ServiceLocator或容器来解析您的类型

10-08 14:50