Partager via


TextPattern.IsReadOnlyAttribute Champ

Définition

Identifie l'attribut IsReadOnly d'une plage de texte.

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 

Valeur de champ

AutomationTextAttribute

Exemples

L’exemple suivant montre comment obtenir une valeur d’attribut pour une plage de texte dans Microsoft Bloc-notes.

Notes

Microsoft Bloc-notes est utilisé comme fournisseur de texte à des fins d’exemple uniquement. Microsoft Bloc-notes n’est pas garanti pour prendre en charge la valeur d’attribut demandée.

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

Remarques

Cet attribut représente l’état en lecture seule du document associé à la plage de texte appelante.

Notes

Si un document ou un fichier est en lecture seule, mais que vous pouvez toujours le modifier et l’enregistrer en tant que autre fichier, le texte n’est pas considéré comme en lecture seule.

Cet identificateur est utilisé par UI Automation applications clientes. UI Automation fournisseurs doivent utiliser le champ équivalent dans TextPatternIdentifiers.

UI Automation clients obtiennent la valeur de l’attribut en appelant GetAttributeValue.

Les valeurs de cet attribut sont de type Boolean. La valeur par défaut est false.

S’applique à

Voir aussi