TextPatternRange.ExpandToEnclosingUnit(TextUnit) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee wordt het tekstbereik uitgebreid naar het opgegeven 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)
Parameters
- unit
- TextUnit
De teksteenheid.
Voorbeelden
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
Opmerkingen
Als het bereik al een exacte hoeveelheid van de opgegeven eenheden is, blijft het ongewijzigd.
Om de ExpandToEnclosingUnit methode succesvol uit te voeren, wordt er achter de schermen een reeks acties uitgevoerd.
Het tekstbereik wordt genormaliseerd; Dat wil gezegd, wordt het tekstbereik samengevouwen tot een degenererend bereik op het Start eindpunt, waardoor het End eindpunt overbodig is. Deze stap is nodig om dubbelzinnigheid te verwijderen in situaties waarin een tekstbereik grenzen omvat
unit, bijvoorbeeld {De U}RL https://www.microsoft.com/ is ingesloten in tekst, waarbij {en }de eindpunten van het tekstbereik zijn.Het resulterende bereik wordt verplaatst achterwaarts in de DocumentRange tot het begin van de aangevraagde
unitgrens.Het bereik wordt naar voren of naar achteren verplaatst in DocumentRange met het aangevraagde aantal
unitgrenzen.Het bereik wordt vervolgens uitgebreid vanuit een gedegenereerde toestand door het End eindpunt met één aangevraagde
unitgrens te verplaatsen.
Voorbeelden van hoe een tekstbereik wordt aangepast voor Move() en ExpandToEnclosingUnit()
Note
Deze stappen zijn nodig omdat het gebruikelijk is dat een schermlezer een volledig woord, zin of hele alinea op de invoegpositie of een virtuele cursorpositie leest.
ExpandToEnclosingUnit respecteert zowel verborgen als zichtbare tekst. De UI Automation-client kan de IsHiddenAttribute controleren op tekstzichtbaarheid.
ExpandToEnclosingUnit wordt uitgesteld tot het eerstvolgende grootste TextUnit ondersteund als de opgegeven TextUnit niet wordt ondersteund door het besturingselement.
De volgorde, van kleinste eenheid tot grootste, wordt hieronder vermeld.