I can think of two possible ways to get the owner window (popup) from the
ViewModel. One is using a recursive call, which is useful for any way you are placing the view in the region:
private Window owner
public Window Owner
if (owner == null)
owner = GetOwnerWindow(this.View
private static Window GetOwnerWindow(DependencyObject container)
var parent = LogicalTreeHelper.GetParent(container);
window = parent
if (window != null)
If you are using the RegionPopupBehavior from the RI you can simply ask for the view’s parent, which should be the Window.
As you are using the MVVM pattern, you might implement this using
and have the view directly bind to it.
Please let me know if this helps.