Aracılığıyla paylaş


UI Otomasyonu Denetim Desenlerine Genel Bakış

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ış, Microsoft UI Otomasyonu denetim desenlerini tanıtır. 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, yaygın denetim davranışlarını göstermek için denetim desenlerini kullanır. Örneğin, düğmeler gibi çağrılabilen denetimler için Invoke denetim desenini ve liste kutuları, liste görünümleri veya birleşik giriş kutuları gibi kaydırma çubuklarına sahip denetimler için Scroll denetim desenini kullanırsınız. Her denetim deseni ayrı bir işlevi temsil ettiğinden, belirli bir denetim tarafından desteklenen tüm işlev kümesini açıklamak için birleştirilebilir.

Uyarı

Birleşik denetimler—üst öğe tarafından sunulan işlevsellik için kullanıcı arabirimini (UI) sağlayan alt denetimlerle oluşturulurlar—normalde her alt denetimle ilişkili tüm denetim şablonlarını uygulamalıdır. Buna karşılık, aynı denetim desenlerinin alt denetimler tarafından uygulanması zorunlu değildir.

UI Otomasyonu Denetim Düzeni Bileşenleri

Denetim desenleri, bir denetimde kullanılabilen ayrık bir işlev parçasını tanımlamak için gereken yöntemleri, özellikleri, olayları ve ilişkileri destekler.

  • UI Otomasyonu öğesi ile üst, alt ve kardeş öğeleri arasındaki ilişki, öğenin UI Otomasyonu ağacı içindeki yapısını açıklar.

  • Yöntemler, UI Otomasyonu istemcilerinin denetimi işlemesine olanak tanır.

  • Özellikler ve olaylar, denetim deseninin işlevselliği hakkında bilgi ve denetimin durumu hakkında bilgi sağlar.

Arabirimler Bileşen Nesne Modeli (COM) nesneleriyle ilişkili olduğundan denetim desenleri kullanıcı arabirimiyle ilgilidir. COM'da bir nesneyi sorgulayarak hangi arabirimleri desteklediğini sorabilir ve ardından işlevlere erişmek için bu arabirimleri kullanabilirsiniz. UI Otomasyonu'nda, UI Otomasyonu istemcileri bir denetime hangi denetim desenlerini desteklediğini sorabilir ve ardından desteklenen denetim desenleri tarafından sunulan özellikler, yöntemler, olaylar ve yapılar aracılığıyla denetimle etkileşimde bulunabilir. Örneğin, çok satırlı bir düzenleme kutusu için UI Otomasyonu sağlayıcıları IScrollProvider uygular. bir istemci denetim desenini AutomationElement desteklediğini ScrollPattern bilirse, denetimi işlemek veya denetimle ilgili bilgilere erişmek için bu denetim deseninin sunduğu özellikleri, yöntemleri ve olayları kullanabilir.

UI Otomasyonu Sağlayıcıları ve İstemcileri

UI Otomasyonu sağlayıcıları, denetim tarafından desteklenen belirli bir işlev parçası için uygun davranışı ortaya çıkarmak için denetim desenleri uygular.

UI Otomasyonu istemcileri UI Otomasyonu denetim düzeni sınıflarının yöntemlerine ve özelliklerine erişir ve bunları kullanıcı arabirimi hakkında bilgi almak veya kullanıcı arabirimini işlemek için kullanır. Bu denetim deseni sınıfları ad alanında System.Windows.Automation bulunur (örneğin, InvokePattern ve SelectionPattern).

İstemciler, UI Otomasyonu özelliklerine bir desen üzerinde erişmek için AutomationElement yöntemlerini (gibi AutomationElement.GetCurrentPropertyValue veya AutomationElement.GetCachedPropertyValue) veya Ortak Dil Çalışma Zamanı (CLR) erişimcilerini kullanır. Her denetim deseni sınıfı, bu denetim desenini tanımlayan bir alan üyesine sahiptir (örneğin, InvokePattern.Pattern veya SelectionPattern.Pattern) ve bu desen, bir GetCachedPattern için almak amacıyla parametre olarak GetCurrentPattern veya AutomationElement öğesine geçirilebilir.

Dinamik Denetim Desenleri

Bazı denetimler her zaman aynı denetim desenleri kümesini desteklemez. Denetim desenleri, bir UI Otomasyonu istemcisi tarafından kullanılabilir olduğunda desteklendiği kabul edilir. Örneğin, çok satırlı düzenleme kutusu dikey kaydırmayı yalnızca görüntülenebilir alanında görüntülenebilenden daha fazla metin satırı içerdiğinde etkinleştirir. Kaydırmanın artık gerekli olmaması için yeterli metin kaldırıldığında kaydırma devre dışı bırakılır. Bu örnekte, Denetimin geçerli durumuna bağlı olarak ScrollPattern denetim deseni dinamik olarak desteklenir (düzenleme kutusunda ne kadar metin olduğu).

Denetim Deseni Sınıfları ve Arabirimleri

Aşağıdaki tabloda UI Otomasyonu denetim desenleri açıklanmaktadır. Tabloda ayrıca UI Otomasyonu istemcileri tarafından denetim desenlerine erişmek için kullanılan sınıfların yanı sıra UI Otomasyonu sağlayıcıları tarafından bunları uygulamak için kullanılan arabirimler de listelenir.

Denetim Deseni Sınıfı Sağlayıcı Arabirimi Açıklama
DockPattern IDockProvider Bir yerleştirme kapsayıcısına yerleştirilebilen denetimler için kullanılır. Örneğin, araç çubukları veya araç paletleri.
ExpandCollapsePattern IExpandCollapseProvider Genişletilebilen veya daraltılabilir denetimler için kullanılır. Örneğin, bir uygulamadaki Dosya menüsü gibi menü öğeleri.
GridPattern IGridProvider Boyutlandırma ve belirtilen bir hücreye taşıma gibi kılavuz işlevselliğini destekleyen denetimler için kullanılır. Örneğin, Windows Gezgini'ndeki büyük simge görünümü veya Microsoft Word'de üst bilgileri olmayan basit tablolar.
GridItemPattern IGridItemProvider Izgaralar içinde hücreleri olan denetimler için kullanılır. Tek tek hücreler GridItem desenini desteklemelidir. Örneğin, Microsoft Windows Gezgini'nin ayrıntı görünümündeki her bir hücre.
InvokePattern IInvokeProvider Düğme gibi çağrılabilen denetimler için kullanılır.
MultipleViewPattern IMultipleViewProvider Aynı bilgi, veri veya alt öğe kümesinin birden çok gösterimi arasında geçiş yapabilecek denetimler için kullanılır. Örneğin, verilerin küçük resim, kutucuk, simge, liste veya ayrıntı görünümlerinde sunulduğu bir liste görünümü kontrolü.
RangeValuePattern IRangeValueProvider Denetime uygulanabilecek bir değer aralığına sahip denetimler için kullanılır. Örneğin, yılları içeren bir spinner denetiminin aralığı 1900 ile 2010 arasında olabilirken, ayları sunan başka bir spinner denetiminin aralığı 1 ile 12 arasında olabilir.
ScrollPattern IScrollProvider Kaydırabilen denetimler için kullanılır. Örneğin, denetimin görüntülenebilir alanında görüntülenebilenden daha fazla bilgi olduğunda etkin olan kaydırma çubuklarına sahip bir denetim.
ScrollItemPattern IScrollItemProvider Liste içinde kaydırılabilen tek tek öğeleri olan kontroller için kullanılır. Örneğin, açılır kutu denetimi gibi, kaydırma listesinde tek tek öğeler içeren bir liste denetimi.
SelectionPattern ISelectionProvider Seçim kapsayıcısı denetimleri için kullanılır. Örneğin, liste kutuları ve kombinasyon kutuları.
SelectionItemPattern ISelectionItemProvider Liste kutuları ve açılır listeler gibi seçim kapsayıcısı denetimlerindeki tek tek öğeler için kullanılır.
TablePattern ITableProvider Izgara ve başlık bilgilerine sahip denetimler için kullanılır. Örneğin, Microsoft Excel çalışma sayfaları.
TableItemPattern ITableItemProvider Tablodaki öğeler için kullanılır.
TextPattern ITextProvider Metin bilgilerini görüntüleyen denetim ve belgeleri düzenlemek için kullanılır.
TogglePattern IToggleProvider Durumu değiştirilebilen denetimler için kullanılır. Örneğin, onay kutuları ve denetlenebilir menü öğeleri.
TransformPattern ITransformProvider Yeniden boyutlandırılabilir, taşınabilir ve döndürülebilir denetimler için kullanılır. Dönüşüm denetimi deseni için tipik kullanımlar tasarımcılarda, formlarda, grafik düzenleyicilerde ve çizim uygulamalarında kullanılır.
ValuePattern IValueProvider İstemcilerin bir değer aralığını desteklemeyen denetimlerde bir değer almasına veya ayarlamasına izin verir. Örneğin, tarih saat ayarlayıcısı.
WindowPattern IWindowProvider Microsoft Windows işletim sistemi için temel bir kavram olan windows'a özgü bilgileri kullanıma sunar. Windows olan denetimlere örnek olarak en üst düzey uygulama pencereleri (Microsoft Word, Microsoft Windows Gezgini vb.), çok belgeli arabirim (MDI) alt pencereleri ve iletişim kutuları verilebilir.

Ayrıca bakınız