TextPattern.CultureAttribute 字段

定义

Culture 标识文本范围的 (CultureInfo) 属性,归到子语言级别;例如,French-Switzerland(fr-CH)而不是法语(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 

字段值

示例

以下示例演示如何获取Microsoft记事本中文本范围的属性值。

注释

Microsoft记事本仅用于示例的文本提供程序。 Microsoft记事本不能保证支持所请求的属性值。

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

注解

此标识符由UI 自动化客户端应用程序使用。 UI 自动化提供程序应使用 TextPatternIdentifiers 中的等效字段。

UI 自动化客户端通过调用 GetAttributeValue 来获取特性的值。

此属性的值的类型 CultureInfo。 默认值为应用程序用户界面的语言。

有关语言代码格式的详细信息,请参阅 CultureInfo

注释

在某些情况下,服务器不支持语言标记,或者作者无法使用它。 在这些情况下,将应用默认值。

适用于

另请参阅