TextPatternRange.ExpandToEnclosingUnit(TextUnit) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erweitert den Textbereich auf die angegebene 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)
Parameter
- unit
- TextUnit
Die Texteinheit.
Beispiele
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
Hinweise
Wenn der Bereich bereits eine exakte Menge der angegebenen Einheiten ist, bleibt er unverändert.
Damit die ExpandToEnclosingUnit Methode erfolgreich ausgeführt werden kann, wird im Hintergrund eine Abfolge von Aktionen ausgeführt.
Der Textbereich wird normalisiert; Das heißt, der Textbereich wird auf einen degenerierten Bereich am Start Endpunkt reduziert, wodurch der End Endpunkt überflüssig wird. Dieser Schritt ist erforderlich, um Mehrdeutigkeiten in Situationen zu entfernen, in denen sich ein Textbereich über Grenzen erstreckt
unit
, z. B. "{The U}RL https://www.microsoft.com/ is embedded in text", wobei "{" und "}" die Textbereichsendpunkte sind.Der resultierende Bereich wird im DocumentRange zurück an den Anfang der angeforderten
unit
-Grenze verschoben.Der Bereich wird um die angeforderte Anzahl von DocumentRange -Grenzen nach vorne oder nach hinten im
unit
verschoben.Anschließend wird der Bereich von einem degenerierten Bereichszustand erweitert, indem der End -Endpunkt um eine angeforderte
unit
-Grenze verschoben wird.
Beispiele für die Anpassung eines Textbereichs für Move() und ExpandToEnclosingUnit()
Hinweis
Diese Schritte sind erforderlich, da es üblich ist, dass eine Sprachausgabe ein vollständiges Wort, einen Satz oder einen ganzen Absatz an der Einfügemarke oder einer beliebigen virtuellen Cursorposition ausliest.
ExpandToEnclosingUnit berücksichtigt ausgeblendeten und sichtbaren Text. Der Benutzeroberflächenautomatisierung-Client kann die IsHiddenAttribute auf Textsichtbarkeit überprüfen.
ExpandToEnclosingUnit wird auf die nächstgrößer TextUnit unterstützte zurückversetzt, wenn die angegebene TextUnit vom -Steuerelement nicht unterstützt wird.
Die Reihenfolge, von der kleinsten Einheit bis zur größten, ist unten aufgeführt.