2

我是 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());
    }
  • 创建 shell 项目(引导程序、带区域的 shell 视图等)

问题:

  • 如何在课堂上更改视图的属性UIMessagesService(在本例RenderTrasform中为显示面板)?可能我需要在视图模型中定义这些属性吗?如何更改视图模型属性?

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

4

2 回答 2

0

对于您的第一个问题,您可以使用 Event Aggregation
第二个问题:
您可以使用 ServiceLocator 或容器来解析您的类型

于 2011-06-11T11:14:44.573 回答
0

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

看看这里的例子

于 2014-10-07T15:27:00.163 回答