0
我有建设:如何搜索父母?
Grid a = ((((usercontrol.Parent as DockPanel).Parent as ScrollViewer).Parent as Grid)
是否有可能找到一个树或父元素?
例如:网格A = GetFirstParent(用户控件, “网格”)网格 - 是型元件
我有建设:如何搜索父母?
Grid a = ((((usercontrol.Parent as DockPanel).Parent as ScrollViewer).Parent as Grid)
是否有可能找到一个树或父元素?
例如:网格A = GetFirstParent(用户控件, “网格”)网格 - 是型元件
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);
}
使用VisualTreeHelper类。
它有一个方法GetParent,它返回一个控件的父对象(确实是一个DependencyObject)。
只是说明你的设计存在。如果“as”操作符无法转换,它将返回null。使这个特定的功能非常依赖于你的用户控件的视觉结构。如果你改变它,这可能会抛出空例外 – Val 2010-10-05 23:30:42