TextPatternRange.GetEnclosingElement 方法

定义

返回包含该文本范围的最内层 AutomationElement

public:
 System::Windows::Automation::AutomationElement ^ GetEnclosingElement();
public System.Windows.Automation.AutomationElement GetEnclosingElement ();
member this.GetEnclosingElement : unit -> System.Windows.Automation.AutomationElement
Public Function GetEnclosingElement () As AutomationElement

返回

AutomationElement

包含调用方的最内层元素。

示例

 private AutomationElement EnclosingElementFromSelection(AutomationElement target)
{
    // Specify the control type we're looking for, in this case 'Document'
    PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);

    // target --> The root AutomationElement.
    AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);

    TextPattern textpatternPattern = textProvider.GetCurrentPattern(TextPattern.Pattern) as TextPattern;

    if (textpatternPattern == null)
    {
        Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");
        return null;
    }
    TextPatternRange[] currentSelection = textpatternPattern.GetSelection();

    return currentSelection[0].GetEnclosingElement();
}
Private Function EnclosingElementFromSelection(ByVal target As AutomationElement) As AutomationElement
    ' Specify the control type we're looking for, in this case 'Document'
    Dim cond As PropertyCondition = New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document)

    ' target --> The root AutomationElement.
    Dim textProvider As AutomationElement = target.FindFirst(TreeScope.Descendants, cond)

    Dim textpatternPattern As TextPattern = CType(textProvider.GetCurrentPattern(TextPattern.Pattern), TextPattern)

    If (textpatternPattern Is Nothing) Then
        Console.WriteLine("Root element does not contain a descendant that supports TextPattern.")
        Return Nothing
    End If
    Dim currentSelection As TextPatternRange() = textpatternPattern.GetSelection()
    Return currentSelection(0).GetEnclosingElement()
End Function

注解

封闭 AutomationElement,通常是提供文本范围的文本提供程序。 但是,如果文本提供程序支持表格或超链接这样的子元素,那么包含元素可能为文本提供程序的子代。

适用于