UI Otomasyon Denetim Düzenlerine Genel Bakış
Not
Bu belgeler, ad alanında tanımlanan yönetilen UI Otomasyonu sınıflarını kullanmak isteyen .NET Framework geliştiricilerine System.Windows.Automation 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, çağrılabilen denetimler için Invoke denetim desenini (düğmeler gibi) ve kaydırma çubukları (liste kutuları, liste görünümleri veya birleşik giriş kutuları gibi) içeren denetimler için Kaydırma denetimi 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.
Not
Üst öğe tarafından kullanıma sunulan işlevler için kullanıcı arabirimini (UI) sağlayan alt denetimlerle oluşturulan toplama denetimleri, normalde her alt denetimle ilişkili tüm denetim desenlerini uygulamalıdır. Buna karşılık, aynı denetim desenlerinin alt denetimler tarafından uygulanması gerekmez.
Denetim Deseni Bileşenlerini UI Otomasyonu
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.
Bir UI Otomasyonu öğesi ile üst öğesi, alt öğeleri ve eşdüzeyleri arasındaki ilişki, öğenin UI Otomasyonu ağacı içindeki yapısını açıklar.
Yöntemler, UI Otomasyonu istemcilerin 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 UI Otomasyonu istemcileri, hangi denetim desenlerini desteklediğini kontrol edebilir ve ardından desteklenen denetim desenleri tarafından sunulan özellikler, yöntemler, olaylar ve yapılar aracılığıyla denetimle etkileşime geçebilir. Örneğin, çok satırlı düzenleme kutusu için UI Otomasyonu sağlayıcıları uygularIScrollProvider. bir istemci denetim desenini ScrollPattern desteklediğini AutomationElement 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, bir desendeki UI Otomasyonu özelliklerine erişmek için yöntemleri (AutomationElement.GetCurrentPropertyValueveya AutomationElement.GetCachedPropertyValuegibi) veya ortak dil çalışma zamanı (CLR) erişimcilerini kullanırAutomationElement. Her denetim deseni sınıfı, bu denetim deseni tanımlayan bir alan üyesine (örneğin, InvokePattern.Pattern veya SelectionPattern.Pattern) sahiptir ve bir için bu deseni almak için AutomationElementveya GetCurrentPattern öğesine parametre GetCachedPattern olarak 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, denetim desenlerine erişmek için UI Otomasyonu istemcileri tarafından kullanılan sınıfların yanı sıra bunları uygulamak için UI Otomasyonu sağlayıcıları tarafından kullanılan arabirimler de listelenir.
Denetim Deseni Sınıfı | Sağlayıcı Arabirimi | Açıklama |
---|---|---|
DockPattern | IDockProvider | Bir yerleştirme kapsayıcısında 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 | Kılavuzlar içinde hücreleri olan denetimler için kullanılır. Tek tek hücreler GridItem desenini desteklemelidir. Örneğin, Microsoft Windows Gezgini ayrıntı görünümündeki her 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 kullanılabildiği liste görünümü denetimi. |
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 | Listede kaydıran tek tek öğeleri olan denetimler için kullanılır. Örneğin, kaydırma listesinde birleşik giriş kutusu denetimi gibi 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 birleşik giriş kutuları. |
SelectionItemPattern | ISelectionItemProvider | Liste kutuları ve birleşik giriş kutuları gibi seçim kapsayıcısı denetimlerindeki tek tek öğeler için kullanılır. |
TablePattern | ITableProvider | Bir kılavuza ve üst bilgi 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 kullanıma sunan denetimleri ve belgeleri düzenlemek için kullanılır. |
TogglePattern | IToggleProvider | Durumun değiştirilebildiği 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 seçici. |
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. |