次の方法で共有


TextPattern.CultureAttribute フィールド

定義

フランス語 (fr) ではなくフランス語 (スイス) (fr-CH) など、サブ言語レベルまでのテキスト範囲の Culture (CultureInfo) 属性を識別します。

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 

フィールド値

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 してください。

注意

サーバーが言語タグをサポートしていない場合や、作成者が使用できない場合があります。 そのような場合は、既定値が適用されます。

適用対象

こちらもご覧ください