UI Otomasyonu Özelliklerine Genel Bakış
Microsoft UI Otomasyonu sağlayıcıları, UI Otomasyonu öğelerinde özellikleri kullanıma sunar. Özellikler, istemci uygulamalarının denetimler hakkında bilgi almasını sağlar.
UI Otomasyonu iki farklı özellik türünü kullanıma sunar: otomasyon öğesi özellikleri ve denetim deseni özellikleri. Otomasyon öğesi özellikleri, denetim türünden bağımsız olarak tüm UI Otomasyonu öğeleri tarafından kullanıma sunulan Name, AcceleratorKey ve ClassName gibi ortak bir özellik kümesinden oluşur. Otomasyon öğesi özelliklerinin çoğu statik değerlerdir.
Denetim düzeni özellikleri, belirli bir denetim düzenini destekleyen bir denetim tarafından ortaya çıkan özelliklerdir. Her denetim deseni, denetimin açıklaması gereken ilgili bir özellikler kümesine sahiptir. Örneğin, Grid denetim desenini destekleyen bir denetim ColumnCount ve RowCount özelliklerini kullanıma sunar. Denetim deseni özelliklerinin çoğu dinamik değerlerdir.
Bu konu aşağıdaki bölümleri içerir.
Özellik Tanımlayıcıları
Her özellik, özellik tanımlayıcısı (ID) olarak adlandırılan PROPERTYID sayısal değerle tanımlanır. Sağlayıcılar ve istemciler, özellik isteklerini tanımlamak için IRawElementProviderAdviseEvents::AdviseEventAdded ve IUIAutomationElement::GetCachedPropertyValue gibi yöntem çağrılarında sayısal kimlikleri kullanır. Her özelliğin veri türü ve varsayılan değeri dahil olmak üzere her UI Otomasyonu özellik tanımlayıcısının ayrıntılı açıklaması için bkz. Özellik Tanımlayıcıları.
Özellik Değerleri
Tüm özellikler salt okunur olsa da, bazıları IDockProvider::SetDockPosition (sağlayıcı) veya IUIAutomationDockPattern::SetDockPosition (istemci) gibi denetim üzerinde işlem gören yöntemler kullanılarak değiştirilebilir.
Özellik değerlerini alma hakkında bilgi için bkz. UI Otomasyon Öğelerinden Özellik Alma.
Özellikler ve Olaylar
UI Otomasyonu'ndaki özelliklerle yakından ilişkili olan, özellik değiştirme olaylarıkavramıdır. Dinamik özellikler için, istemci uygulamasının bilgi önbelleğini güncelleştirebilmesi veya yeni bilgilere başka bir şekilde tepki vermesi için bir özellik değerinin değiştiğini bilme yolu gerekir. İstemciler, herhangi bir özellikte özellik değişikliği olaylarını dinlemek için kaydolabilir.
Sağlayıcılar, kullanıcı arabirimindeki bir şey değiştiğinde olayları tetikler. Örneğin, bir onay kutusu seçildiğinde veya temizlendiğinde, Geçiş denetim deseninin sağlayıcı uygulaması tarafından bir özellik değişikliği olayı tetiklenir. Sağlayıcılar, istemcilerin olayları dinleyip dinlemediğine veya belirli olayları dinlediğine bağlı olarak olayları seçmeli olarak oluşturabilir.
Tüm özellik değişiklikleri olayları tetiklemiyor; bu tamamen öğe için UI Otomasyonu sağlayıcısının uygulamasına bağlıdır. Örneğin, liste kutuları için standart ara sunucu sağlayıcıları Selection özelliği değiştiğinde özellik değiştirme olayı oluşturmaz. Bu durumda, seçim değiştiğinde (UIA_SelectionItem_ElementSelectedEventId) uygulamanın tetiklenen olayı dinlemesi gerekir.
İstemciler olayları dinlemek için bunlara abone olur, tıpkı UI Otomasyonu Olaylarına Abone Olma'de açıklandığı gibi. Özellikle, özellik değişim olayları için istemcilerin IUIAutomationPropertyChangedEventHandler uygulamak ve arabirimini IUIAutomation::AddPropertyChangedEventHandler veya IUIAutomation::AddPropertyChangedEventHandlerNativeArraygeçirmesi gerekir.
İlgili konular
-
Başvuru
-
Kavramsal