Silverlight PRISM用户控制和服务引用

Silverlight PRISM用户控制和服务引用,silverlight,data-binding,prism,Silverlight,Data Binding,Prism,我在我的项目中使用MVVM,这里是我的问题。我有一个视图和相应的带有服务参考的视图模型。此视图包含UserControl,它有另一个UserControl,并且还包含嵌套的UserControl。最后一个用户控件有一个创建弹出窗口的方法。在这个弹出窗口中,我需要来自视图模型的服务引用。每个用户控件都有自己的DataContext 代码解释。 查看xaml: <UserControl DataContext="{Binding ViewModel}"> <Functions

我在我的项目中使用MVVM,这里是我的问题。我有一个视图和相应的带有服务参考的视图模型。此视图包含UserControl,它有另一个UserControl,并且还包含嵌套的UserControl。最后一个用户控件有一个创建弹出窗口的方法。在这个弹出窗口中,我需要来自视图模型的服务引用。每个用户控件都有自己的DataContext

代码解释。

查看xaml:

<UserControl DataContext="{Binding ViewModel}">
   <FunctionsList/>
</UserControl>

函数列表xaml:

<UserControl>
   <Function1/>
   <Function2/>
   <Function3/>
   <Function4/>
</UserControl>

函数3 xaml:

<UserControl/>

Function3 code behind包含CreatePopup方法,该方法创建以
UserControl
Function3Popup作为内容的对话框。Function3Popup应该有服务引用


这里的最佳实践是什么?我有一个糟糕的解决方案,就是使用绑定传递引用,但这似乎让我感到沮丧。

好吧,毕竟我用自己的ViewModel实现了弹出窗口,并使用嵌套子控件中的命令绑定从父控件解决了它。我认为这是最好的解决办法