2011-06-10 53 views
2

我在Prism(Composite Wpf)中是全新的。我想为我的应用程序创建消息模块:当我调用ShowMessage(string message)(例如5秒后消失)时,显示在主窗口顶部的不可见面板。Prism开始

我所做的:

  • 创建基础设施项目(只包含一个接口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()); 
    } 
  • 创建壳牌项目(bootstrapp呃,外壳视图,区域e.t.c)

问题:

  • 我怎样才能改变我的UIMessagesService类视图的属性(在这种情况下RenderTrasform显示面板)?可能是我需要在视图模型中定义这些属性?如何更改视图模型属性?

  • 如何从应用程序执行模块方法ShowMessages

回答

0

关于第一个问题,你可以使用事件汇总
对于第二:
可以使用服务定位器或容器,以解决您的类型

+0

想要更多信息吗? – 2011-06-13 07:52:38

+0

不,谢谢。我已经完成了。但有时候我不确定自己做得不好。 PRISM没有严格的规定。 – 2011-06-25 13:22:00

0

不知道如果这正是你想要的。但是您可以使用wpfextended工具包busyindicator。这可以在你的视图顶部显示一个光滑的屏幕,你可以通过设置或绑定IsBusy依赖项属性来控制它。

看一看示例here