次の方法で共有


TextPattern.IsReadOnlyAttribute フィールド

定義

テキスト範囲の IsReadOnly 属性を識別します。

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

フィールド値

次の例では、メモ帳でテキスト範囲の属性値Microsoft取得する方法を示します。

注意

Microsoftメモ帳は、たとえば、テキスト プロバイダーとしてのみ使用されます。 Microsoftメモ帳は、要求されている属性値をサポートする保証はありません。

private void GetIsReadOnlyAttribute()
{
    // 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.IsReadOnlyAttribute);
    if (oAttribute == TextPattern.MixedAttributeValue)
    {
        Console.WriteLine("Mixture of readonly and non-readonly.");
    }
    else
    {
        Console.WriteLine(oAttribute.ToString());
    }
}
Private Sub GetIsReadOnlyAttribute()
    ' 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.IsReadOnlyAttribute)
    If (oAttribute = TextPattern.MixedAttributeValue) Then
        Console.WriteLine("Mixture of readonly and non-readonly.")
    Else
        Console.WriteLine(oAttribute.ToString())
    End If
End Sub

注釈

この属性は、呼び出し元のテキスト範囲に関連付けられているドキュメントの読み取り専用の状態を表します。

注意

ドキュメントまたはファイルが読み取り専用であっても、編集して別のファイルとして保存できる場合、テキストは読み取り専用とは見なされません。

この識別子は、UI オートメーションクライアント アプリケーションによって使用されます。 UI オートメーション プロバイダーでは、 でTextPatternIdentifiers同等のフィールドを使用する必要があります。

UI オートメーションクライアントは、 を呼び出GetAttributeValueして 属性の値を取得します。

この属性の値は 型 Booleanです。 既定値は false です。

適用対象

こちらもご覧ください