Aracılığıyla paylaş


İstemciler için UI Otomasyonu Denetim Desenleri

Uyarı

Bu belgeler, System.Windows.Automation ad alanında tanımlanan yönetilen UI Otomasyonu sınıflarını kullanmak isteyen .NET Framework geliştiricilerine yöneliktir. UI Otomasyonu hakkında en son bilgiler için bkz. Windows Otomasyonu API'si: UI Otomasyonu.

Bu genel bakış, UI Otomasyonu istemcileri için denetim desenlerini tanıtır. Kullanıcı arabirimi (UI) hakkındaki bilgilere erişmek için ui Otomasyonu istemcisinin denetim desenlerini nasıl kullanabileceğine ilişkin bilgiler içerir.

Denetim desenleri, denetimin işlevselliğini denetim türünden veya denetimin görünümünden bağımsız olarak kategorilere ayırmanın ve kullanıma sunmanın bir yolunu sağlar. UI Otomasyonu istemcileri, hangi denetim desenlerinin destekleneceğini belirlemek ve denetimin davranışından emin olmak için bir AutomationElement dosyasını inceleyebilir.

Denetim desenlerinin tam listesi için bkz. UI Otomasyonu Denetim Desenlerine Genel Bakış.

Kontrol Desenlerini Alma

İstemciler AutomationElement veya AutomationElement.GetCachedPattern çağırarak bir AutomationElement.GetCurrentPattern kontrol modelini alır.

İstemciler, bir desenin veya desen grubunun GetSupportedPatterns üzerinde desteklenip desteklenmediğini belirlemek için IsPatternAvailable yöntemini veya tek bir IsTextPatternAvailableProperty özelliğini (örneğin, AutomationElement) kullanabilir. Ancak, kontrol desenini almak ve desteklenen özellikleri denetlemek yerine kontrol desenini alıp bir null referansını test etmeye çalışmak daha verimlidir çünkü daha az çapraz işlem çağrısına neden olur.

Aşağıdaki örnekte, bir TextPattern 'den AutomationElementbir denetim deseninin nasıl alınıyor olduğu gösterilmektedir.

// Specify the control type we're looking for, in this case 'Document'
PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);

// target --> The root AutomationElement.
AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);

targetTextPattern = textProvider.GetCurrentPattern(TextPattern.Pattern) as TextPattern;

if (targetTextPattern == null)
{
    Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");
    return;
}

Denetim Desenlerinde Özellikleri Elde Etme

İstemciler, AutomationElement.GetCachedPropertyValue veya AutomationElement.GetCurrentPropertyValue çağırarak ve döndürülen nesneyi uygun bir türe dönüştürerek denetim desenlerindeki özellik değerlerini alabilir. UI Otomasyonu özellikleri hakkında daha fazla bilgi için bkz. İstemciler için UI Otomasyonu Özellikleri.

Yöntemlere GetPropertyValue ek olarak, teknik özellik değerlerine bir örüntü üzerindeki UI Otomasyonu özelliklerine erişmek için ortak dil çalışma zamanı (CLR) erişimcileri aracılığıyla ulaşılabilir.

Değişken Desenli Denetimler

Bazı denetim türleri, durumlarına veya denetimin kullanılma şekline bağlı olarak farklı desenleri destekler. Değişken desenleri olabilecek denetimlere örnek olarak liste görünümleri (küçük resimler, kutucuklar, simgeler, liste, ayrıntılar), Microsoft Excel Grafikleri (Pasta, Çizgi, Çubuk, Formül içeren Hücre Değeri), Microsoft Word'ün belge alanı (Normal, Web Düzeni, Ana Hat, Yazdırma Düzeni, Baskı Önizleme) ve Microsoft Windows Media Player dış görünümleri verilebilir.

Özel denetim türlerini uygulayan denetimler, işlevlerini temsil etmek için gereken herhangi bir denetim deseni kümesine sahip olabilir.

Ayrıca bakınız