다음을 통해 공유


TextPatternRange.ExpandToEnclosingUnit(TextUnit) 메서드

정의

텍스트 범위를 지정된 TextUnit으로 확장합니다.

public:
 void ExpandToEnclosingUnit(System::Windows::Automation::Text::TextUnit unit);
public void ExpandToEnclosingUnit (System.Windows.Automation.Text.TextUnit unit);
member this.ExpandToEnclosingUnit : System.Windows.Automation.Text.TextUnit -> unit
Public Sub ExpandToEnclosingUnit (unit As TextUnit)

매개 변수

unit
TextUnit

텍스트 단위입니다.

예제

 private void ExpandSelection(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;
    }
    TextPatternRange[] currentSelection = textpatternPattern.GetSelection();
    // Expand selection to include entire document
    currentSelection[0].ExpandToEnclosingUnit(TextUnit.Document);
}
Private Sub ExpandSelection(ByVal target 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
    End If
    Dim currentSelection As TextPatternRange() = textpatternPattern.GetSelection()
    currentSelection(0).ExpandToEnclosingUnit(TextUnit.Document)
End Sub

설명

범위 지정 단위 정확한 수량을 이미 있으면 그대로 유지 됩니다.

되려면에서는 ExpandToEnclosingUnit 메서드를 성공적으로 실행 하려면 일련의 작업을 백그라운드에서 수행 됩니다.

  1. 텍스트 범위가 정규화 됩니다. 텍스트 범위에서 중복 제거 범위로 축소 되어,는 Start 엔드포인트을 만드는 End 엔드포인트이 불필요 해 집니다. 이 단계는 텍스트 범위에 걸쳐 있는 경우 모호성을 제거 하는 데 필요한 unit 경계; 예를 들어 "{The U} RL https://www.microsoft.com/ 텍스트에 포함 된" 위치 "{0}" 및 "}"는 텍스트 범위 엔드포인트입니다.

  2. 결과 범위가 DocumentRange 내에서 뒤쪽으로 옮겨져 요청된 unit 경계의 시작 부분으로 이동하게 됩니다.

  3. 범위가 요청된 DocumentRange 경계 수만큼 unit 내에서 앞이나 뒤로 이동합니다.

  4. 그런 다음, 요청된 unit 경계 하나만큼 End 엔드포인트를 이동하여 중복 제거 범위 상태이던 범위가 확장됩니다.

Move & ExpandToEnclosingUnit 범위
Move() 및 ExpandToEnclosingUnit()에 따라 텍스트 범위가 조정되는 방법의 예

참고

이러한 단계는 일반적으로 화면 판독기는 전체 단어, 문장 또는 전체 단락 삽입 지점 또는 가상 커서 위치에서 읽을 수 있기 때문에 필요 합니다.

ExpandToEnclosingUnit 숨겨진 / 표시 텍스트를 따릅니다. UI 자동화 클라이언트가 확인할 수는 IsHiddenAttribute 텍스트 표시에 대 한 합니다.

ExpandToEnclosingUnit 단위는 다음 가장 큰 TextUnit 지원 되는 경우에는 지정 된 TextUnit 컨트롤에서 지원 되지 않습니다.

가장 크고 가장 작은 단위는 순서는 아래 나열 됩니다.

적용 대상

추가 정보