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.

AutomationElement.CachedChildren الخاصية

Visual Studio 2010

يحصل على عناصر من هذا التابع المخزنة مؤقتاً AutomationElement.

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

public AutomationElementCollection CachedChildren { get; }

قيمة الخاصية

النوع: System.Windows.Automation.AutomationElementCollection
المجموعة فرع العناصر. وهذا مجموعة يمكن أن يكون فارغاً إذا كان العنصر غير الأطفال.

استثناء:شرط
ElementNotAvailableException

واجهة المستخدم ل AutomationElementلا يعد موجوداً.

InvalidOperationException

تم إنشاء طلب لا إلى ذاكرة التخزين المؤقتة للأطفال لهذا العنصر.

طريقة العرض التي تم إرجاعها مجموعة هو يفرضها TreeFilterحالة CacheRequestالتي تم النشطة عند th هو AutomationElementتم الحصول على الكائن.

يتم التخزين المؤقت للأطفال فقط إذا كان نطاق CacheRequestالمضمنة Subtree، Children، أو Descendants.

إذا CacheRequestتحديد أن كانت الأطفال لذاكرة التخزين المؤقت في ترتيب هو مستوى، ولكن يتم لا الأطفال، ثم الالقيمة من القيم بالموضع هو خاصية هو 0. ومع ذلك، إذا تم إنشاء طلب لا لذاكرة التخزين المؤقت للأطفال على هذا المستوى، محاولة استرداد خاصية رفع استثناء.

في ما يلي مثال، يتم الحصول على عنصر صندوق قائمة من عناصر الإطار الأصل أثناء CacheRequestنشطة و TreeScopeهو Children. خصائص العناصر التابعة المحددة (التي هو، العناصر lهوt) يتم تخزينها في ذاكرة تخزين مؤقت ويمكن استرداد من CachedChildrenفي المربع lهوt.


/// <summary>
/// Gets a list box element and caches the Name property of its children (the list items).
/// </summary>
/// <param name="elementMain">The UI Automation element for the parent window.</param>
void CachePropertiesWithScope(AutomationElement elementMain)
{
    AutomationElement elementList;

    // Set up the CacheRequest.
    CacheRequest cacheRequest = new CacheRequest();
    cacheRequest.Add(AutomationElement.NameProperty);
    cacheRequest.TreeScope = TreeScope.Element | TreeScope.Children;

    // Activate the CacheRequest and get the element. Note that the scope of the CacheRequest
    // is in relation to the object being retrieved: the list box and its children are 
    // cached, not the main window and its children.
    using (cacheRequest.Activate())
    {
        // Load the list element and cache the specified properties for its descendants.
        Condition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.List);
        elementList = elementMain.FindFirst(TreeScope.Children, cond);
    }
    if (elementList == null) return;

    // The following illustrates that the children of the list are in the cache.
    foreach (AutomationElement listItem in elementList.CachedChildren)
    {
        Console.WriteLine(listItem.Cached.Name);
    }

    // The following call raises an exception, because the IsEnabled property was not cached.
    /*** Console.WriteLine(listItem.Cached.IsEnabled); ***/

    // The following illustrates that because the list box itself was cached, it is now
    // available as the CachedParent of each list item.
    AutomationElement child = elementList.CachedChildren[0];
    Console.WriteLine(child.CachedParent.Cached.Name);
}


نظام التشغيل 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
إظهار: