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