Aracılığıyla paylaş


TextPatternRange.ExpandToEnclosingUnit(TextUnit) Yöntem

Tanım

Metin aralığını belirtilen TextUnitdeğerine genişletir.

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)

Parametreler

unit
TextUnit

Metin birimi.

Örnekler

 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

Açıklamalar

Aralık zaten belirtilen birimlerin tam miktarıysa değişmeden kalır.

Yönteminin ExpandToEnclosingUnit başarıyla yürütülmesi için arka planda bir dizi eylem gerçekleştirilir.

  1. Metin aralığı normalleştirilir; yani metin aralığı uç noktadaki bozuk bir aralığa Start daraltılır ve bu da uç noktayı gereksiz hale getirir End . Bu adım, bir metin aralığının sınırları aştığı unit durumlarda belirsizliği kaldırmak için gereklidir; örneğin, "{U}RL https://www.microsoft.com/ metne eklenmiş" ve burada "{" ve "}" metin aralığı uç noktalarıdır.

  2. Sonuçta elde edilen aralık, istenen unit sınırın başına geri DocumentRange taşınır.

  3. Aralık, istenen sınır sayısı unit tarafından içinde DocumentRange ileri veya geri taşınır.

  4. Ardından, uç nokta istenen unit bir sınıra taşınarak aralık bozuk aralık durumundan End genişletilir.

Move & ExpandToEnclosingUnit
Move() ve ExpandToEnclosingUnit() için metin aralığının nasıl ayarlandığına ilişkin örnekler

Not

Ekran okuyucunun ekleme noktasında veya herhangi bir sanal imleç konumunda tam bir sözcüğü, tümceyi veya paragrafın tamamını okuması yaygın olduğundan bu adımlar gereklidir.

ExpandToEnclosingUnit hem gizli hem de görünür metne saygı gösterir. UI Otomasyonu istemcisi metin görünürlüğünü denetleyebiliyorIsHiddenAttribute.

ExpandToEnclosingUnitverilen denetim tarafından desteklenmiyorsa TextUnit sonraki en büyük TextUnit desteklenene saptırılır.

En küçük birimden en büyüğe sipariş aşağıda listelenmiştir.

Şunlara uygulanır

Ayrıca bkz.