我有建设:
Grid a = ((((usercontrol.Parent as DockPanel).Parent as ScrollViewer).Parent as Grid)
是否可以找到树或父元素?
示例:网格a = GetFirstParent(usercontrol,“网格”)网格 - 是类型元素
答案 0 :(得分:1)
Grid a = userControl.FindParent<Grid>();
public static T FindParent<T>(this DependencyObject startElement)
where T : DependencyObject
{
DependencyObject parent = GetParentObject(startElement);
if (parent == null)
return null;
T typedParent = parent as T;
if (typedParent != null)
{
return typedParent;
}
return FindParent<T>(parent);
}
答案 1 :(得分:0)
使用VisualTreeHelper类。
它有一个方法GetParent,它返回一个控件的父级(实际上是一个DependencyObject)。