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 den angegebenen TextUnitBereich.
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 genaue Menge der angegebenen Einheiten ist, bleibt er unverändert.
Damit die ExpandToEnclosingUnit Methode erfolgreich ausgeführt werden kann, wird hinter den Kulissen eine Folge von Aktionen ausgeführt.
Der Textbereich wird normalisiert; d. h. der Textbereich wird auf einen degenerierten Bereich am Start Endpunkt reduziert, wodurch der End Endpunkt überflüssig wird. Dieser Schritt ist erforderlich, um Mehrdeutigkeit in Situationen zu entfernen, in denen ein Textbereich Grenzen umfasst
unit, z. B. "{Die U}RL https://www.microsoft.com/ ist in Text eingebettet", wobei "{" und "}" die Endpunkte des Textbereichs 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
unitverschoben.Der Bereich wird dann von einem degenerierten Bereichszustand erweitert, indem der End Endpunkt um eine angeforderte
unitGrenze verschoben wird.
Beispiele für die Anpassung eines Textbereichs für Move() und ExpandToEnclosingUnit()
Note
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 an einer beliebigen virtuellen Cursorposition vorliest.
ExpandToEnclosingUnit berücksichtigt ausgeblendeten und sichtbaren Text. Der Benutzeroberflächenautomatisierung-Client kann die IsHiddenAttribute auf Textsichtbarkeit überprüfen.
ExpandToEnclosingUnit Wird auf die nächstgrößte TextUnit unterstützung zurückverzögert, wenn das angegebene TextUnit Steuerelement nicht unterstützt wird.
Die Reihenfolge, von der kleinsten Einheit bis zum größten, wird unten aufgeführt.