TextPatternRange.ExpandToEnclosingUnit(TextUnit) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Développe la plage de texte à l'élément TextUnit spécifié.
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)
Paramètres
- unit
- TextUnit
Unité de texte.
Exemples
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
Remarques
Si la plage est déjà une quantité exacte des unités spécifiées, elle reste inchangée.
Pour que la ExpandToEnclosingUnit méthode s’exécute correctement, une séquence d’actions est effectuée en arrière-plan.
La plage de texte est normalisée ; autrement dit, la plage de texte est réduite à une plage dégénérée au point de Start terminaison, ce qui rend le End point de terminaison superflu. Cette étape est nécessaire pour supprimer l’ambiguïté dans les situations où une plage de texte dépasse les
unit
limites ; par exemple, « {L’U}RL https://www.microsoft.com/ est incorporée dans le texte » où « { » et « } » sont les points de terminaison de la plage de texte.La plage obtenue est déplacée vers l'arrière dans DocumentRange au début de la limite
unit
demandée.La plage est avancée ou reculée dans DocumentRange du nombre demandé de limites
unit
.La plage est ensuite étendue à partir d'un état de plage dégénérée en déplaçant le point de terminaison End d'une limite
unit
demandée.
Exemples de la façon dont une plage de texte est ajustée pour Move() et ExpandToEnclosingUnit()
Notes
Ces étapes sont nécessaires, car il est courant pour un lecteur d’écran de lire un mot, une phrase ou un paragraphe entier au point d’insertion ou à toute position de curseur virtuel.
ExpandToEnclosingUnit respecte à la fois le texte masqué et visible. Le client UI Automation peut case activée pour la visibilité du IsHiddenAttribute texte.
ExpandToEnclosingUnit passe au plus grand TextUnit suivant pris en charge si le donné TextUnit n’est pas pris en charge par le contrôle.
L’ordre, de la plus petite à la plus grande, est répertorié ci-dessous.