所以我将这个UserControl放在另一个UserControl中。让我们称他们为ParentUC和ChildUC。我需要从ChildUC获得ParentUC。
我知道让窗口所有者为Window.GetWindow(userControl)
,但UserControl没有像这样的AFAIK方法。
感谢您的帮助!
答案 0 :(得分:16)
我提出了这个解决方案,但如果你有更好的解决方案,请发布。谢谢!
DependencyObject ucParent = this.Parent;
while (!(ucParent is UserControl))
{
ucParent = LogicalTreeHelper.GetParent(ucParent);
}
答案 1 :(得分:0)
您始终可以使用VisualTreeHelper.GetParent(child)
返回可视树中的父级(来自嵌套用户控件的父级用户控件)。
答案 2 :(得分:0)
UserControl有一个.Parent属性,可以让你访问它的父级。
然后你可以把它投射到你的ParentUC对象。