Basically, I’m not sure where to start:
I have my Shell.xaml window.
I also have my Popup.xaml window.
I set the Shell.xaml to import the PopupWindow then when the PopupWindow Loaded event fires, it does:
Popup.Owner = this;
Popup.Show();
Now, I need to be able to have the PopupWindow’s ViewModel communicate with the Shell.xaml. Basically, I need to be able to have the PopupWindow tell the Shell’s ViewModel information the user inputs.
Update:
In keeping this decoupled, I don’t want to pass in any instance of the Client’s viewmodel to the popup, I’d much rather have the Popup’s ViewModel somehow have a way of communicating to the Client’s ViewModel without knowing who it is actually talking to.
Have a look at the event aggregator in Prism. The aggregated events in Prism are intended as a means of facilitating decoupled, inter-viewmodel communication. If you are going for “pure” MVVM, I think that it would go something like this: