WPF获取UserControl所有者

时间:2009-09-24 22:09:40

标签: wpf user-controls

所以我将这个UserControl放在另一个UserControl中。让我们称他们为ParentUC和ChildUC。我需要从ChildUC获得ParentUC。

我知道让窗口所有者为Window.GetWindow(userControl),但UserControl没有像这样的AFAIK方法。

感谢您的帮助!

3 个答案:

答案 0 :(得分:16)

我提出了这个解决方案,但如果你有更好的解决方案,请发布。谢谢!

DependencyObject ucParent = this.Parent;

while (!(ucParent is UserControl))
{
    ucParent = LogicalTreeHelper.GetParent(ucParent);
}

答案 1 :(得分:0)

您始终可以使用VisualTreeHelper.GetParent(child)返回可视树中的父级(来自嵌套用户控件的父级用户控件)。

答案 2 :(得分:0)

UserControl有一个.Parent属性,可以让你访问它的父级。

然后你可以把它投射到你的ParentUC对象。