views:

3

answers:

1

I'm using MVVM in my project and here is my question. I have a View and corresponding view-model with service reference. This view contains UserControl, which have another UserControl and it also contains nested UserControl. Last UserControl have a method which creates a popup. And in this popup i need service reference from view model. Each user control has own DataContext.

Code explanation.

View xaml:

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

FunctionsList xaml:

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

Function3 xaml:

<UserControl/>

Function3 code behind contains CreatePopup method, which creates dialog with a UserControl Function3Popup as Content. And Function3Popup should have Service reference.

What is the best practice here? I have awful solution to pass reference using binding but it seems discouraging to me.

A: 

Well, after all I've implemented popup with own ViewModel and resolved it from parent control using command binding in the nested child control. I think it's the best solution here.

Walkor