Obtener la ventana padre de un control en WPF

Cómo obtener la ventana padre de un control en WPF


Obtener la ventana padre de un control en WPF

En ocasiones resulta muy útil saber cuál es la ventana padre de un control.

La operación es bastante sencilla, simplemente debemos seguir el árbol visual de controles (VisualTreeHelper) recursivamente hasta encontrar la ventana padre:

/// 
///		Obtener la ventana padre de un control
/// 
public Window GetParentWindow(DependencyObject ctlControl)
{ DependencyObject ctlParent = VisualTreeHelper.GetParent(ctlControl);

	// Busca recursivamente la ventana padre
	if (ctlParent == null)
		return null;
	else if (ctlParent is Window)
		return ctlParent as Window;
	else
		return GetParentWindow(ctlParent);
}
	

Páginas relacionadas