0

这是我在 StackOverflow 上的第一篇文章,如果我不完全清楚,请原谅我。

我的 WPF 项目使用 PRISM 5.0 和 Unity 作为容器。这是我第一个使用 PRISM 和 Unity 的项目。

在我的应用程序中,我正确地将视图加载到我的 MainWindow 中。此视图显示有关项目的信息的友好版本。我在这个屏幕上有一个编辑按钮,我希望它调用一个带有适当控件的模式窗口来编辑这个项目。到目前为止,我选择了 InteractionRequestTrigger -> PopUpWindowAction 方法,因为它是实现结果的最直接的方法。我不喜欢这种方法。

但是,我注意到我无法让依赖注入为我试图在模式中使用的 View 的 ViewModel 构造函数工作。这可能是因为我没有使用 Region 注册 View 或完成任何相关的腿部工作,如果我不得不猜测的话,PopUpWindowAction 只是将我的用户控件放到一个普通的表单上。

我的问题是,我能否实现一个传递自定义视图和 ViewModel 的模式对话框,并让它像调用它的父 View 和 ViewModel 一样工作?即支持依赖注入等。完成编辑逻辑后,我想理想地重新使用 View 和 ViewModel 来添加项目功能,但我想我将使用我的 Shell 的“主要区域”注册该视图,因此,我想在那里也使用依赖注入。

希望这很清楚。我认为代码示例在这里并没有太大帮助,但是如果是这样,请告诉我,我可以整理一个简单的示例来说明上述内容。

4

1 回答 1

0

我不会在我的主视图模型和我的模态对话框的视图模型之间提供紧密耦合。

相反,我会考虑使用 Prism 提供的 EventAggregator 来发布我的主视图模型可以订阅并做出相应反应的通知。

于 2014-11-06T13:41:42.393 回答