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
要傳回父代的項目。
傳回
父項目,如果指定的項目為樹狀目錄的根項目,或在目前檢視中看不到父項目,則為 Null 參考 (在 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 中要快取的成員。
傳回
父項目,如果指定的項目為樹狀目錄的根項目,或在檢視中看不到父項目,則為 Null 參考 (在 Visual Basic 中為 Nothing
)。
備註
樹狀 AutomationElement 結構會隨著可見的使用者介面變更而變更, (UI) 元素。 不保證傳回為父元素的專案將會在後續傳遞時以父元素的形式傳回。