TreeWalker.GetParent 方法

定义

检索指定 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

将返回其父级的元素。

返回

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 上要进行缓存的成员。

返回

AutomationElement

父元素;如果指定元素为目录树中的根元素或者父元素在此视图中不可见,则为空引用(在 Visual Basic 中为 Nothing)。

注解

树的结构 AutomationElement 随着可见用户界面 (UI) 桌面上的元素更改而更改。 不能保证作为父元素返回的元素将在后续传递时作为父元素返回。

另请参阅

适用于