WPF User Control Parent

后端 未结 17 1124
不知归路
不知归路 2020-11-28 02:18

I have a user control that I load into a MainWindow at runtime. I cannot get a handle on the containing window from the UserControl.

I hav

17条回答
  •  猫巷女王i
    2020-11-28 02:39

    How about this:

    DependencyObject parent = ExVisualTreeHelper.FindVisualParent(this);
    
    public static class ExVisualTreeHelper
    {
        /// 
        /// Finds the visual parent.
        /// 
        /// 
        /// The sender.
        /// 
        public static T FindVisualParent(DependencyObject sender) where T : DependencyObject
        {
            if (sender == null)
            {
                return (null);
            }
            else if (VisualTreeHelper.GetParent(sender) is T)
            {
                return (VisualTreeHelper.GetParent(sender) as T);
            }
            else
            {
                DependencyObject parent = VisualTreeHelper.GetParent(sender);
                return (FindVisualParent(parent));
            }
        } 
    }
    

提交回复
热议问题