This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

ValuePattern.ValuePatternInformation.IsReadOnly الخاصية

Visual Studio 2010

يحصل على قيمة التي تحدد ما إذا كانت القيمة UI Automationعنصر هو للقراءة فقط.

مساحة الاسم:  System.Windows.Automation
التجميع:  UIAutomationClient (في UIAutomationClient.dll)

public bool IsReadOnly { get; }

قيمة الخاصية

النوع: System.Boolean
true إذا كانت القيمة هو القراءة فقط;falseإذا كان يمكن ‏‏تاريخ التعديل.

يجب أن يكون عنصر تحكم الخاص به IsEnabledPropertyمعينة إلى trueو به IsReadOnlyPropertyمعينة إلى falseقبل محاولة العميل اتصال SetValue.

In the following example, an AutomationElement that supports the ValuePattern control pattern has its ValueProperty set to a user-specified value.


///--------------------------------------------------------------------
/// <summary>
/// Inserts a string into a text control that supports ValuePattern.
/// </summary>
/// <param name="targetControl">A text control.</param>
/// <param name="value">The string to be inserted.</param>
///--------------------------------------------------------------------
private void InsertText(AutomationElement targetControl,
                                    string value)
{
    // Validate arguments / initial setup
    if (value == null)
        throw new ArgumentNullException(
            "String parameter must not be null.");

    if (targetControl == null)
        throw new ArgumentNullException(
            "AutomationElement parameter must not be null");

    // A series of basic checks prior to attempting an insertion.
    //
    // Check #1: Is control enabled?
    // An alternative to testing for static or read-only controls 
    // is to filter using 
    // PropertyCondition(AutomationElement.IsEnabledProperty, true) 
    // and exclude all read-only text controls from the collection.
    if (!targetControl.Current.IsEnabled)
    {
        throw new InvalidOperationException(
            "The control is not enabled.\n\n");
    }

    // Check #2: Are there styles that prohibit us 
    //           from sending text to this control?
    if (!targetControl.Current.IsKeyboardFocusable)
    {
        throw new InvalidOperationException(
            "The control is not focusable.\n\n");
    }

    // Once you have an instance of an AutomationElement,  
    // check if it supports the ValuePattern pattern.
    object valuePattern = null;

    if (!targetControl.TryGetCurrentPattern(
        ValuePattern.Pattern, out valuePattern))
    {
        // Elements that support TextPattern 
        // do not support ValuePattern and TextPattern
        // does not support setting the text of 
        // multi-line edit or document controls.
        // For this reason, text input must be simulated.
    }
    // Control supports the ValuePattern pattern so we can 
    // use the SetValue method to insert content.
    else
    {
        if (((ValuePattern)valuePattern).Current.IsReadOnly)
        {
            throw new InvalidOperationException(
                "The control is read-only.");
        }
        else
        {
            ((ValuePattern)valuePattern).SetValue(value);
        }
    }
}


نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008, نظام التشغيل Windows Server 2003

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0

NET Framework. Client Profile

مدعوم في: 4
إظهار: