TextPatternRange.ExpandToEnclosingUnit(TextUnit) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Rozšíří rozsah textu na zadaný 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)
Parametry
- unit
- TextUnit
Textová jednotka.
Příklady
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
Poznámky
Pokud je rozsah již přesným množstvím zadaných jednotek, zůstane beze změny.
Aby se ExpandToEnclosingUnit metoda úspěšně spustila, provádí se na pozadí posloupnost akcí.
Rozsah textu je normalizován; to znamená, že rozsah textu je sbalený do degenerovaného rozsahu v koncovém Start bodu, takže End koncový bod je nadbytečný. Tento krok je nezbytný k odstranění nejednoznačnosti v situacích, kdy rozsah textu přesahuje
unit
hranice, například "{Adresa U}RL https://www.microsoft.com/ je vložena do textu", kde {" a "}" jsou koncové body textového rozsahu.Výsledný rozsah se přesune dozadu DocumentRange na začátek požadované
unit
hranice.Rozsah se posune dopředu nebo dozadu o DocumentRange požadovaný počet
unit
hranic.Rozsah se pak rozbalí ze stavu degenerovaného rozsahu přesunutím koncového End bodu o jednu požadovanou
unit
hranici.
Příklady úprav rozsahu textu pro Move() a ExpandToEnclosingUnit()
Poznámka
Tyto kroky jsou nezbytné, protože je běžné, že čtečka obrazovky přečte celé slovo, větu nebo celý odstavec v místě vložení nebo jakékoli virtuální pozici kurzoru.
ExpandToEnclosingUnit respektuje skrytý i viditelný text. Klient model UI Automation může zkontrolovat IsHiddenAttribute viditelnost textu.
ExpandToEnclosingUnitpokud daný TextUnit ovládací prvek nepodporuje, přejde na další největší TextUnit podporovanou hodnotu.
Pořadí od nejmenších jednotek po největší je uvedené níže.