TextPatternRange.ExpandToEnclosingUnit(TextUnit) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Expande el intervalo de texto a la TextUnit especificada.
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)
Parámetros
- unit
- TextUnit
Unidad textual.
Ejemplos
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
Comentarios
Si el intervalo ya es una cantidad exacta de las unidades especificadas, no se modifica.
Para que el ExpandToEnclosingUnit método se ejecute correctamente, se realiza una secuencia de acciones en segundo plano.
El intervalo de texto se normaliza; es decir, el intervalo de texto se contrae a un intervalo degenerado en el Start punto de conexión, lo que hace que el End punto de conexión sea superfluo. Este paso es necesario para quitar la ambigüedad en situaciones en las que un intervalo de texto abarca los límites
unit
; por ejemplo, "{El RL https://www.microsoft.com/ U}está incrustado en texto", donde "{" y "}" son los puntos de conexión del intervalo de texto.El intervalo resultante se mueve hacia atrás en DocumentRange , al principio del límite
unit
solicitado.El intervalo resultante se mueve hacia delante o hacia atrás en DocumentRange , en función del número solicitado de límites
unit
.A continuación, el intervalo se expande desde un estado de intervalo degenerado moviendo el extremo End en función de un límite
unit
solicitado.
Ejemplos de cómo se ajusta un intervalo de texto para Move() y ExpandToEnclosingUnit()
Nota:
Estos pasos son necesarios, ya que es habitual que un lector de pantalla lea una palabra, frase o párrafo completo en el punto de inserción o cualquier posición del cursor virtual.
ExpandToEnclosingUnit respeta el texto oculto y visible. El cliente Automatización de la interfaz de usuario puede comprobar si hay visibilidad de IsHiddenAttribute texto.
ExpandToEnclosingUnit se aplaza al siguiente mayor TextUnit admitido si el control especificado TextUnit no es compatible con el control .
El pedido, de la unidad más pequeña al más grande, se muestra a continuación.