Compartir vía


TextPattern.CultureAttribute Campo

Definición

Identifica el atributo Culture (CultureInfo) de un intervalo de texto hasta el nivel de subidioma; por ejemplo, francés-Suiza (fr-CH) en lugar de francés (fr).

public: static initonly System::Windows::Automation::AutomationTextAttribute ^ CultureAttribute;
public static readonly System.Windows.Automation.AutomationTextAttribute CultureAttribute;
 staticval mutable CultureAttribute : System.Windows.Automation.AutomationTextAttribute
Public Shared ReadOnly CultureAttribute As AutomationTextAttribute 

Valor de campo

AutomationTextAttribute

Ejemplos

En el ejemplo siguiente se muestra cómo obtener un valor de atributo para un intervalo de texto en Microsoft Bloc de notas.

Nota

Microsoft Bloc de notas se usa como proveedor de texto solo con fines de ejemplo. No se garantiza que Microsoft Bloc de notas admita el valor del atributo que se solicita.

private void GetCultureAttribute()
{
    // Start application.
    Process p = Process.Start("Notepad.exe", "text.txt");

    // target --> The root AutomationElement.
    AutomationElement target = AutomationElement.FromHandle(p.MainWindowHandle);

    // Specify the control type we're looking for, in this case 'Document'
    PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);

    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;
    }

    Object oAttribute = textpatternPattern.DocumentRange.GetAttributeValue(TextPattern.CultureAttribute);
    if (oAttribute == TextPattern.MixedAttributeValue)
    {
        Console.WriteLine("Mixed culture info.");
    }
    else
    {
        Console.WriteLine(oAttribute.ToString());
    }
}
Private Sub GetCultureAttribute()
    ' Start application.
    Dim p As Process = Process.Start("Notepad.exe", "text.txt")

    ' target --> The root AutomationElement.
    Dim target As AutomationElement = AutomationElement.FromHandle(p.MainWindowHandle)

    ' Specify the control type we're looking for, in this case 'Document'
    Dim cond As PropertyCondition = New PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document)

    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 oAttribute As Object = textpatternPattern.DocumentRange.GetAttributeValue(TextPattern.CultureAttribute)
    If (oAttribute = TextPattern.MixedAttributeValue) Then
        Console.WriteLine("Mixed culture info.")
    Else
        Console.WriteLine(oAttribute.ToString())
    End If
End Sub

Comentarios

Este identificador lo usan Automatización de la interfaz de usuario aplicaciones cliente. Automatización de la interfaz de usuario proveedores deben usar el campo equivalente en TextPatternIdentifiers.

Automatización de la interfaz de usuario clientes obtienen el valor del atributo llamando a GetAttributeValue.

Los valores de este atributo son de tipo CultureInfo. El valor predeterminado es el idioma de la interfaz de usuario de la aplicación.

Consulte CultureInfo para obtener más información sobre el formato de código de idioma.

Nota

Puede haber casos en los que el servidor no admita la etiqueta de idioma o los autores no pueden usarlo. En esos casos, se aplica el valor predeterminado.

Se aplica a

Consulte también