【发布时间】:2021-07-09 18:33:34
【问题描述】:
我们是 Window 应用程序的新手,我们正在开发基于 WPF 的窗口应用程序。我们使用 MVVM 架构模式和 PRISM 框架。我们使用 Telerik 控件为应用程序制作了丰富的 UI。
我们在 PRISM 中开发了模块化应用程序,如 Prism Sample For WPF-07 Applications 所示。 在这种情况下,我们有一个主应用程序将拥有 Bootstrapper 类和所有子模块的引用。
当用户执行的某些操作完成时,我们想调用警报框。我们想从许多不同页面的视图模型中调用此警报框,其中一些存在于子模块中,而少数存在于具有引导程序的主应用程序中。
我们希望设计可以跨应用程序使用的通用警报控件。
在之前下载的 WPF PRISM 示例中,它具有从 ViewModel 调用弹出窗口的代码示例,如 stack overflow question 中所述。
但是这个功能在新的 Prism 版本中不再存在。此外,Github 上对话服务的新功能不存在示例应用程序。
我们现在知道“交互”已被DialogService 替换,并且按照文档我们在主应用程序中创建了自定义警报,但是我们如何在所有子模块中使用此警报?
我们如何设计可从所有模块访问的自定义公共警报? 请帮助我们实现这一通用功能。
【问题讨论】:
-
您的问题到底是什么?为什么你认为你不能在你的视图模型中使用对话服务?这一切与 modules 有什么关系?
-
@Haukinger 我可以在我们的视图模型中使用对话服务。 Infect 我们知道这是在应用程序中实现自定义警报的方式。我的问题陈述是我们如何设计对话服务,以便我们可以在所有子模块和主应用程序中使用它?这就像设计和注册一次并在所有其他应用程序中使用它。我们在哪里可以设计和注册它以及如何从其他模块中调用它?