مشاركة عبر


واجه المستخدم أتمتة خصائص للعملاء

ملاحظةملاحظة

Th هو الوثائق هو المقصودة لإطار عمل.NET المطورين الذين يرغبون في استخدام المدارة UI Automationالفئات المعرفة في System.Windows.Automationمساحة الاسم.للحصول على أحدث المعلومات حول UI Automation، راجع API التنفيذ التلقائي Windows: أتمتة واجه المستخدم.

يقدم هذا العرض العام إلى UI Automationخصائص كـ عرضها ل تطبيقات العميل "أتمتة واجهة المستخدم" على .

خصائص AutomationElementالكائنات تحتوي تشغيل معلومات حول واجهة المستخدم (UI)عناصر، عادة عناصر التحكم. خصائص AutomationElementهي عام؛ التي هو، غير محدد لنوع عنصر التحكم. عدد هذه خصائص يتعرض في AutomationElement.AutomationElementInformationبنية.

عنصر تحكم نقوش أيضا بجعل الخصائص. الخصائص عنصر تحكم الأنماط الخاصة بالنمط. على سبيل المثال، ScrollPatternيحتوي على الخصائص التي تمكن من تطبيق العميل إلى لاكتشاف ما إذا كان نافذة عمودياً أو أفقياً مرور، وما هو الحالي عرض أحجام ومرور يتم المواضع. أنماط عنصر تحكم يعرض الجميع بهم خصائص من خلال بنية؛ على سبيل المثال، ScrollPattern.ScrollPatternInformation.

UI Automationخصائص هي للقراءة فقط. لتعيين خصائص عنصر تحكم، يجب عليك استخدام الوظائف الخاصة المناسبة نمط عنصر التحكم. على سبيل المثال، استخدام Scrollإلى تغيير قيم موضع نافذة التمرير.

لتحسين الأداء، وقيم الخصائص من عنصر تحكم s و عنصر تحكم النقوش التي يمكن أن يكون التخزين المؤقت عند AutomationElementيتم استرداد الكائنات. لمزيد من المعلومات، راجع تخزين مؤقت في التنفيذ التلقائي واجه المستخدم العملاء.

يشتمل هذا الموضوع على الأقسام التالية.

  • معرفات خاصية
  • شروط خاصية
  • يتم الآن استرداد خصائص
  • قيم الخاصية الافتراضي
  • تم تم تغييره خاصية أحداث
  • خصائص AutomationElement إضافى
  • موضوعات ذات صلة

معرفات خاصية

خاصية معرّفات (IDs)قيماً ثابتة، الفريدة التي يتم تغليف في AutomationPropertyالكائنات. التنفيذ التلقائي لواجهة مستخدم عميل إحضار التطبيقات هذه معرّفاتمن AutomationElementفئة أو من المناسب نمط عنصر التحكم للفئات، مثل ScrollPattern. موفرو "التنفيذ التلقائي لواجهة المستخدم" الحصول عليها من AutomationElementIdentifiersأو من واحد عنصر التحكم نقش معرفات الفئات، مثل ScrollPatternIdentifiers.

رقمي Idمن AutomationPropertyهو المستخدمة من قبل الموفرين لتعريف الخصائص التي يتم سيطالب لفي IRawElementProviderSimple.GetPropertyValueالأسلوب. بشكل عام، لا تحتاج تطبيقات العميل إلى فحص Id. ProgrammaticNameيستخدم فقط من أجل التصحيح و أغراض تشخيص.

شروط خاصية

خاصية معرّفاتتستخدم في بناء PropertyConditionكائنات تستخدم إلى البحث عن AutomationElementالكائنات. على سبيل المثال، قد ترغب في بحث AutomationElementيحتوي على اسم بعض أو الجميع عناصر التحكم التي يتم تمكينها. كل PropertyConditionتحدد AutomationPropertyمعرّف والقيمة التي يجب أن خاصية المطابقة.

للحصول على مزيد من المعلومات، راجع مرجع المواضيع التالية:

يتم الآن استرداد خصائص

بعض الخصائص من AutomationElementويتم عرض كافة الخصائص clكـs نمط عنصر التحكم كـ عمل تداخل لها خصائص Currentأو Cachedخاصية AutomationElementأو عنصر تحكم نموذج الكائن.

بالإضافة إلى ذلك، أي AutomationElementأو عنصر تحكم الخاصية نقش، بما في ذلك خاصية التي هو غير متوفرة في Cachedأو Currentبناء، يمكن استرداد باستخدام إحدى الطرق التالية:

هذه الطرق تقديم أداء أفضل قليلاً كـ جيدا كـ الوصول إلى نطاق كامل من الخصائص.

يلي تعليمات برمجية يظهر المثال الطريقتين من استرداد خاصية في AutomationElement.

' elementList is an AutomationElement.
' The following two calls are equivalent.
Dim name As String = elementList.Current.Name
name = CStr(elementList.GetCurrentPropertyValue(AutomationElement.NameProperty))
// elementList is an AutomationElement.

// The following two calls are equivalent.
string name = elementList.Current.Name;
name = elementList.GetCurrentPropertyValue(AutomationElement.NameProperty) as string;

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

يوضح مثال التعليمة البرمجية التالية الطريقتين من استرداد خاصية في نمط عنصر التحكم.

' elementList is an AutomationElement representing a list box.
' Error-checking is omitted. Assume that elementList is known to support SelectionPattern.
Dim selectPattern As SelectionPattern = _
    DirectCast(elementList.GetCurrentPattern(SelectionPattern.Pattern), SelectionPattern)
Dim isMultipleSelect As Boolean = selectPattern.Current.CanSelectMultiple

' The following call is equivalent to the one above.
isMultipleSelect = CBool(elementList.GetCurrentPropertyValue(SelectionPattern.CanSelectMultipleProperty))
// elementList is an AutomationElement representing a list box.
// Error-checking is omitted. Assume that elementList is known to support SelectionPattern.

SelectionPattern selectPattern =
    elementList.GetCurrentPattern(SelectionPattern.Pattern) as SelectionPattern;
bool isMultipleSelect = selectPattern.Current.CanSelectMultiple;

// The following call is equivalent to the one above.
isMultipleSelect = (bool)
    elementList.GetCurrentPropertyValue(SelectionPattern.CanSelectMultipleProperty);

Getوظائف العودة Object. يجب تحويل تطبيق على الكائن الذي يتم إرجاعه للعلم نوع قبل استخدام القيمة.

قيم الخاصية الافتراضي

إذا "التنفيذ التلقائي لواجهة المستخدم" الموفر لا تطبق على خاصية UI Automationالنظام هو قادراً على توفير القيمة افتراضية. على سبيل المثال، إذا كان الموفر عنصر تحكم أدى دعم خاصية المعرف بواسطة HelpTextProperty، UI Automationبإرجاع سلسلة فارغ. وبشكل مماثل، إذا كان الموفر لا يعتمد الخصائص المعرفة من قبل IsDockPatternAvailableProperty، UI Automationبإرجاع false.

يمكنك تغيير هذا سلوك بواسطة استخدام AutomationElement.GetCachedPropertyValueو AutomationElement.GetCurrentPropertyValueالتحميلات الزائدة الأسلوب. عند تحديد trueكمعلمة الثاني، UI Automationلا بإرجاع القيمة افتراضية، ولكن بدلاً من ذلك إرجاع القيمة خاص NotSupported.

تعمل التعليمة البرمجية الموجودة في المثال التالي يحاول استرداد خاصية من عنصر، وإذا الخاصية هو غير معتمد، القيمة معرفة من قبل تطبيق هو استخدام بدلاً من ذلك.

' elementList is an AutomationElement.
Dim help As Object = elementList.GetCurrentPropertyValue(AutomationElement.HelpTextProperty, True)
If help Is AutomationElement.NotSupported Then
    help = "No help available"
End If
Dim helpText As String = CStr(help)
// elementList is an AutomationElement.
object help = elementList.GetCurrentPropertyValue(AutomationElement.HelpTextProperty, true);
if (help == AutomationElement.NotSupported)
{
    help = "No help available";
}
string helpText = (string)help;

إلى اكتشاف ما هي الخصائص التي يدعمها عنصر ما، استخدم GetSupportedProperties. هذا ما يعيد AutomationPropertyمعرفات.

تم تم تغييره خاصية أحداث

عند القيمة خاصية تشغيل AutomationElementأو التحكم في تغير النقش، حدث هو raهوed. يمكن الاشتراك في أحد تطبيقات إلى تلك الأحداث بواسطة استدعاء AddAutomationPropertyChangedEventHandler، توفير صفيفة من AutomationPropertyمعرفات كالمعلمه الأخيرة في ترتيب إلى تحديد خصائص للفائدة.

في AutomationPropertyChangedEventHandler، يمكنك تعريف خاصية له تم تغييره بواسطة يتم الآن التدقيق من Propertyعضو وسائط حدث. تتضمن الوسيطات في القديم أيضا و قيم جديدة من UI Automationالخصائص التي تغيرت. تكون هذه قيم من $ $ $ $ نوع Objectويجب أن يتم تحويل إلى الصحيح نوع قبل استخدامها.

خصائص AutomationElement إضافى

بالإضافة إلى Currentو Cachedبني الخاصية، AutomationElementخصائص التالية، التي تم استردادها من خلال خاصية بسيطة accessors.

الخصائص

الوصف

CachedChildren

مجموعة من التابعة AutomationElementالكائنات الموجودة في ذاكرة تخزين مؤقت.

CachedParent

AutomationElementالكائن الأصل التي هو في ذاكرة تخزين مؤقت.

FocusedElement

(ثابت خاصية) AutomationElementيحتوي على تركيز إدخال.

RootElement

(خاصية ثابتة) جذر AutomationElement.

راجع أيضًا:

المهام

الاشتراك في أحداث Auإلىmation إلى واجهة المستخدم

المبادئ

تخزين مؤقت في التنفيذ التلقائي واجه المستخدم العملاء

تطبيق موفر التنفيذ التلقائي لواجهة المستخدم من جانب الخادم