TreeWalker.GetParent 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
检索指定 AutomationElement 的父元素。
重载
GetParent(AutomationElement) |
检索指定 AutomationElement 的父元素。 |
GetParent(AutomationElement, CacheRequest) |
检索指定的 AutomationElement 的父元素并缓存属性和模式。 |
注解
树的结构 AutomationElement 随着可见用户界面 (UI) 桌面上的元素更改而更改。 不能保证作为父元素返回的元素将在后续传递时作为父元素返回。
GetParent(AutomationElement)
检索指定 AutomationElement 的父元素。
public:
System::Windows::Automation::AutomationElement ^ GetParent(System::Windows::Automation::AutomationElement ^ element);
public System.Windows.Automation.AutomationElement GetParent (System.Windows.Automation.AutomationElement element);
member this.GetParent : System.Windows.Automation.AutomationElement -> System.Windows.Automation.AutomationElement
Public Function GetParent (element As AutomationElement) As AutomationElement
参数
- element
- AutomationElement
将返回其父级的元素。
返回
父元素;如果指定元素为目录树中的根元素或者父元素在当前视图中不可见,则为空引用(在 Visual Basic 中为 Nothing
)。
示例
以下示例演示如何 GetParent 查找包含指定元素的窗口元素。
/// <summary>
/// Retrieves the top-level window that contains the specified UI Automation element.
/// </summary>
/// <param name="element">The contained element.</param>
/// <returns>The containing top-level window element.</returns>
private AutomationElement GetTopLevelWindow(AutomationElement element)
{
TreeWalker walker = TreeWalker.ControlViewWalker;
AutomationElement elementParent;
AutomationElement node = element;
if (node == elementRoot) return node;
do
{
elementParent = walker.GetParent(node);
if (elementParent == AutomationElement.RootElement) break;
node = elementParent;
}
while (true);
return node;
}
''' <summary>
''' Retrieves the top-level window that contains the specified UI Automation element.
''' </summary>
''' <param name="element">The contained element.</param>
''' <returns>The containing top-level window element.</returns>
Private Function GetTopLevelWindow(ByVal element As AutomationElement) As AutomationElement
Dim walker As TreeWalker = TreeWalker.ControlViewWalker
Dim elementParent As AutomationElement
Dim node As AutomationElement = element
If node = elementRoot Then
Return node
End If
Do
elementParent = walker.GetParent(node)
If elementParent = AutomationElement.RootElement Then
Exit Do
End If
node = elementParent
Loop While True
Return node
End Function 'GetTopLevelWindow
End Class
另请参阅
适用于
GetParent(AutomationElement, CacheRequest)
检索指定的 AutomationElement 的父元素并缓存属性和模式。
public:
System::Windows::Automation::AutomationElement ^ GetParent(System::Windows::Automation::AutomationElement ^ element, System::Windows::Automation::CacheRequest ^ request);
public System.Windows.Automation.AutomationElement GetParent (System.Windows.Automation.AutomationElement element, System.Windows.Automation.CacheRequest request);
member this.GetParent : System.Windows.Automation.AutomationElement * System.Windows.Automation.CacheRequest -> System.Windows.Automation.AutomationElement
Public Function GetParent (element As AutomationElement, request As CacheRequest) As AutomationElement
参数
- element
- AutomationElement
将返回其父级的元素。
- request
- CacheRequest
一个缓存请求对象,它指定返回的 AutomationElement 上要进行缓存的成员。
返回
父元素;如果指定元素为目录树中的根元素或者父元素在此视图中不可见,则为空引用(在 Visual Basic 中为 Nothing
)。
注解
树的结构 AutomationElement 随着可见用户界面 (UI) 桌面上的元素更改而更改。 不能保证作为父元素返回的元素将在后续传递时作为父元素返回。