UI Otomasyonu Olaylarına 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.

Microsoft UI Otomasyonu olay bildirimi, ekran okuyucular ve ekran büyüteçleri gibi yardımcı teknolojiler için önemli bir özelliktir. Bu UI Otomasyonu istemcileri, kullanıcı arabiriminde bir şey olduğunda UI Otomasyonu sağlayıcıları tarafından tetiklenen olayları izler ve bilgileri son kullanıcılara bildirmek için kullanır.

Sağlayıcı uygulamalarının herhangi bir istemcinin bu olaylara abone olup olmamasına veya hiçbir istemcinin hiçbir olayı dinlememesi durumuna bağlı olarak olayları seçmeli olarak oluşturmasına olanak tanıyarak verimlilik artırılır.

Olay Türleri

UI Otomasyonu olaylar aşağıdaki kategorilere ayrılır.

Olay Açıklama
Özellik değişikliği bir UI Otomasyonu öğesi veya denetim düzenindeki bir özellik değiştiğinde oluşturulur. Örneğin, bir istemcinin uygulamanın onay kutusu denetimini izlemesi gerekiyorsa, özellikte ToggleState bir özellik değişikliği olayını dinlemek için kaydolabilir. Onay kutusu denetimi işaretlendiğinde veya işareti kaldırıldığında sağlayıcı olayı başlatır ve istemci gerekli şekilde davranabilir.
Öğe eylemi Kullanıcı arabirimindeki bir değişiklik son kullanıcı veya programlı etkinlikten geldiğinde tetiklenen; örneğin, aracılığıyla bir düğmeye tıklandığında veya çağrıldığında InvokePattern.
Yapı değişikliği UI Otomasyonu ağacının yapısı değiştiğinde oluşturulur. Yeni kullanıcı arabirimi öğeleri masaüstünde görünür, gizlendiğinde veya kaldırıldığında yapı değişir.
Genel masaüstü değişikliği odak bir öğeden diğerine kaydığında veya bir pencere kapandığında, istemciye yönelik genel ilgi çekici eylemler gerçekleştiğinde tetiklenen.

Bazı olaylar, kullanıcı arabiriminin durumunun değiştiği anlamına gelmez. Örneğin, kullanıcı bir metin giriş alanına sekmeyle gidip alanı güncelleştirmek için bir düğmeye tıklarsa, TextChangedEvent kullanıcı metni gerçekten değiştirmese bile bir oluşturulur. Bir olay işlenirken, bir istemci uygulamasının eylem gerçekleştirmeden önce herhangi bir şeyin gerçekten değişip değişmediğini denetlemesi gerekebilir.

Kullanıcı arabiriminin durumu değişmese bile aşağıdaki olaylar tetiklenebilir.

  • AutomationPropertyChangedEvent (değiştirilen özelliğe bağlı olarak)

  • ElementSelectedEvent

  • InvalidatedEvent

  • TextChangedEvent

olay tanımlayıcılarını UI Otomasyonu

Microsoft UI Otomasyonu olayları nesneler tarafından AutomationEvent tanımlanır. özelliği, Id olay türünü benzersiz olarak tanımlayan bir değer içerir.

için olası değerler Id , olay bağımsız değişkenleri için kullanılan türle birlikte aşağıdaki tabloda verilmiştir. İstemciler ve sağlayıcılar tarafından kullanılan tanımlayıcıların farklı sınıflardaki alanlar olarak aynı şekilde adlandırıldığını unutmayın.

İstemci Tanımlayıcısı Sağlayıcı tanımlayıcısı Olay Bağımsız Değişkenleri Türü
AutomationElement.AsyncContentLoadedEvent AutomationElementIdentifiers.AsyncContentLoadedEvent AsyncContentLoadedEventArgs
SelectionItemPattern.ElementAddedToSelectionEvent

SelectionItemPattern.ElementRemovedFromSelectionEvent

SelectionItemPattern.ElementSelectedEvent

SelectionPattern.InvalidatedEvent

InvokePattern.InvokedEvent

AutomationElement.LayoutInvalidatedEvent

AutomationElement.MenuClosedEvent

AutomationElement.MenuOpenedEvent

TextPattern.TextChangedEvent

TextPattern.TextSelectionChangedEvent

AutomationElement.ToolTipClosedEvent

AutomationElement.ToolTipOpenedEvent

WindowPattern.WindowOpenedEvent
SelectionItemPatternIdentifiers.ElementAddedToSelectionEvent

SelectionItemPatternIdentifiers.ElementRemovedFromSelectionEvent

SelectionItemPatternIdentifiers.ElementSelectedEvent

SelectionPatternIdentifiers.InvalidatedEvent

InvokePatternIdentifiers.InvokedEvent

AutomationElementIdentifiers.LayoutInvalidatedEvent

AutomationElementIdentifiers.MenuClosedEvent

AutomationElementIdentifiers.MenuOpenedEvent

TextPatternIdentifiers.TextChangedEvent

TextPatternIdentifiers.TextSelectionChangedEvent

AutomationElementIdentifiers.ToolTipClosedEvent

AutomationElementIdentifiers.ToolTipOpenedEvent

WindowPatternIdentifiers.WindowOpenedEvent
AutomationEventArgs
AutomationElement.AutomationFocusChangedEvent AutomationElementIdentifiers.AutomationFocusChangedEvent AutomationFocusChangedEventArgs
AutomationElement.AutomationPropertyChangedEvent AutomationElementIdentifiers.AutomationPropertyChangedEvent AutomationPropertyChangedEventArgs
AutomationElement.StructureChangedEvent AutomationElementIdentifiers.StructureChangedEvent StructureChangedEventArgs
WindowPattern.WindowClosedEvent WindowPatternIdentifiers.WindowClosedEvent WindowClosedEventArgs

Olay Bağımsız Değişkenlerini UI Otomasyonu

Aşağıdaki sınıflar olay bağımsız değişkenlerini kapsüller.

Sınıf Açıklama
AsyncContentLoadedEventArgs Tamamlanan yükleme yüzdesi dahil olmak üzere içeriğin zaman uyumsuz yüklenmesi hakkında bilgi içerir.
AutomationEventArgs Ek veri gerektirmeyen basit bir olay hakkında bilgi içerir.
AutomationFocusChangedEventArgs Bir öğeden diğerine giriş odağındaki bir değişiklik hakkında bilgi içerir. Bu türdeki olaylar sağlayıcılar tarafından değil, UI Otomasyonu sistemi tarafından oluşturulur.
AutomationPropertyChangedEventArgs Bir öğenin veya denetim deseninin özellik değerindeki bir değişiklik hakkında bilgi içerir.
StructureChangedEventArgs UI Otomasyonu ağacındaki bir değişiklik hakkında bilgi içerir.
WindowClosedEventArgs Pencere kapatma hakkında bilgi içerir.

Tüm olay bağımsız değişken sınıfları bir EventId üye içerir. Bu tanımlayıcı bir AutomationEventiçinde kapsüllenmiş.

Olayları AutomationEvent tanımlamak için kullanılan nesneler, içindeki alanlardan AutomationElementIdentifiers ve gibi DockPatternIdentifiersdenetim deseni tanımlayıcı sınıflarından sağlayıcılar tarafından elde edilir. Eşdeğer alanlar, istemci uygulamaları tarafından içindeki AutomationElement alanlardan ve gibi DockPatterndenetim deseni sınıflarından elde edilir.

Olay tanımlayıcılarının listesi için bkz. İstemciler için Olaylar UI Otomasyonu.

Ayrıca bkz.