WPF PRISM 5.0& Unity IoC:尝试使用支持依赖注入的PopUpWindow实现可重用的视图

时间:2014-11-05 15:12:33

标签: wpf dependency-injection unity-container prism prism-5

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

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

在我的应用程序中,我正在将View加载到我的MainWindow中。此视图显示有关项目的友好版本的信息。我在这个屏幕上有一个编辑按钮,我希望它调用一个模态窗口,其中包含用于编辑此项目的相应控件。到目前为止,我选择了InteractionRequestTrigger - > PopUpWindowAction方法,因为它是实现结果的最直接的看似方法。我没有和这种方法结婚。

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

我的问题是,我可以实现一个传递自定义View和ViewModel的模态对话框,并使其表现为父View和ViewModel调用它吗?即,支持依赖注入等。在完成编辑逻辑之后,我想在理想情况下重新使用View和ViewModel作为我的添加项功能,但我想我将使用"主要区域"来注册该视图。我的Shell也是如此,想在那里使用依赖注入。

希望这很清楚。我不认为代码示例在这里会有很多帮助,但如果是这样,请告诉我,我可以将一个简单的例子放在一起来说明上述内容。

1 个答案:

答案 0 :(得分:0)

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

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