Übersicht über die Benutzeroberflächenautomatisierungs-Eigenschaften

Hinweis

Diese Dokumentation ist für .NET Framework-Entwickler konzipiert, die die verwalteten Klassen zur Automatisierung der Benutzeroberfläche verwenden möchten, die im Namespace System.Windows.Automation definiert sind. Aktuelle Informationen zur Automatisierung der Benutzeroberfläche finden Sie auf der Seite zur Windows-Automatisierungs-API: Benutzeroberflächenautomatisierung.

Benutzeroberflächenautomatisierungs-Anbieter machen Eigenschaften in Elementen der Microsoft-Benutzeroberflächenautomatisierung verfügbar. Anhand dieser Eigenschaften können Clientanwendungen der Benutzeroberflächenautomatisierung Informationen zu Bestandteilen der Benutzeroberfläche (insbesondere zu Steuerelementen) ermitteln. Diese Informationen können sowohl statische als auch dynamische Daten umfassen.

In diesem Abschnitt finden Sie eine umfassende Übersicht über Eigenschaften der Microsoft-Benutzeroberflächenautomatisierung. Speziellere Informationen finden Sie in folgenden Themen:

Eigenschaftsbezeichner

Jede Eigenschaft wird mit einer Zahl und einem Namen bezeichnet. Die Namen von Eigenschaften werden nur zum Debuggen und zu Diagnosezwecken verwendet. Anbieter verwenden die numerischen IDs, um eingehende Eigenschaftenanforderungen zu identifizieren. Clientanwendungen verwenden dagegen, um die abzurufenden Eigenschaften zu kennzeichnen, nur AutomationProperty-Objekte, in denen die Zahl und der Name gekapselt werden.

AutomationProperty -Objekte, die bestimmte Eigenschaften darstellen, sind als Felder in verschiedenen Klassen verfügbar. Aus Sicherheitsgründen rufen Benutzeroberflächenautomatisierungs-Anbieter diese Objekte aus einem separaten Satz von Klassen ab, die in „Uiautomationtypes.dll“ enthalten sind.

In folgender Tabelle werden Eigenschaften anhand der Klassen kategorisiert, die die AutomationProperty-IDs enthalten.

Arten von Eigenschaften Clients rufen IDs ab von Anbieter rufen IDs ab von
Eigenschaften, die jedes der Elemente hat (siehe folgende Tabellen) AutomationElement AutomationElementIdentifiers
Position eines andockbaren Fensters DockPattern DockPatternIdentifiers
Zustand eines Elements, das erweitert und reduziert werden kann ExpandCollapsePattern ExpandCollapsePatternIdentifiers
Eigenschaften eines Elements in einem Raster GridItemPattern GridItemPatternIdentifiers
Eigenschaften eines Rasters GridPattern GridPatternIdentifiers
Aktuelle und unterstützte Ansicht eines Elements, das mehrere Ansichten hat MultipleViewPattern MultipleViewPatternIdentifiers
Eigenschaften eines Elements, das innerhalb eines Wertebereichs verschoben werden kann, etwa ein Schieberegler RangeValuePattern RangeValuePatternIdentifiers
Eigenschaften eines scrollbaren Fensters ScrollPattern ScrollPatternIdentifiers
Status und Container eines Elements, das ausgewählt werden kann, z. B. in einer Liste SelectionItemPattern SelectionItemPatternIdentifiers
Eigenschaften eines Steuerelements, das Auswahlelemente enthält SelectionPattern SelectionPatternIdentifiers
Spalten- und Zeilenüberschriften eines Elements in einer Tabelle TableItemPattern TableItemPatternIdentifiers
Spalten- und Zeilenüberschriften sowie Ausrichtung einer Tabelle TablePattern TablePatternIdentifiers
Zustand eines umschaltbaren Steuerelements TogglePattern TogglePatternIdentifiers
Funktionen eines Elements, das verschoben, gedreht oder in der Größe geändert werden kann TransformPattern TransformPatternIdentifiers
Wert und Lese-/Schreibfunktionen eines Elements, das einen Wert hat ValuePattern ValuePatternIdentifiers
Funktionen und Status eines Fensters WindowPattern WindowPatternIdentifiers

Eigenschaften nach Kategorie

In den folgenden Tabellen werden die Eigenschaften kategorisiert, deren IDs in AutomationElement und AutomationElementIdentifiers enthalten sind. Diese Eigenschaften hat jedes der Steuerelemente. Bis auf einige Ausnahmen sind wahrscheinlich alle diese Eigenschaften während der gesamten Lebensdauer der Anbieteranwendung statisch. Die meisten dynamischen Eigenschaften sind mit Steuerelementmustern verknüpft.

In der Spalte Eigenschaftenzugriff werden zusätzlich zu GetCurrentPropertyValue und GetCachedPropertyValuealle weiteren Accessoren für jede Eigenschaft aufgeführt. Weitere Informationen zum Abrufen von Eigenschaften in einer Clientanwendung finden Sie unter UI Automation Properties for Clients.

Hinweis

Spezielle Informationen zu jeder Eigenschaft finden Sie über den Link in der Spalte Eigenschaftenzugriff .

Anzeigen von Merkmalen

Eigenschaftsbezeichner Eigenschaftenzugriff
BoundingRectangleProperty BoundingRectangle
CultureProperty
HelpTextProperty HelpText
IsOffscreenProperty IsOffscreen
OrientationProperty Orientation

Elementtyp

Eigenschaftsbezeichner Eigenschaftenzugriff
ControlTypeProperty ControlType
IsContentElementProperty IsContentElement
IsControlElementProperty IsControlElement
ItemTypeProperty ItemType
LocalizedControlTypeProperty LocalizedControlType

Identifikation

Eigenschaftsbezeichner Eigenschaftenzugriff
AutomationIdProperty AutomationId
ClassNameProperty ClassName
FrameworkIdProperty FrameworkId
LabeledByProperty LabeledBy
NameProperty Name
ProcessIdProperty ProcessId
RuntimeIdProperty GetRuntimeId
NativeWindowHandleProperty NativeWindowHandle

Interaktion

Eigenschaftsbezeichner Eigenschaftenzugriff
AcceleratorKeyProperty AcceleratorKey
AccessKeyProperty AccessKey
ClickablePointProperty GetClickablePoint
HasKeyboardFocusProperty HasKeyboardFocus
IsEnabledProperty IsEnabled
IsKeyboardFocusableProperty IsKeyboardFocusable

Unterstützung für Muster

Eigenschaftsbezeichner Eigenschaftenzugriff
IsDockPatternAvailableProperty GetSupportedPatterns
IsExpandCollapsePatternAvailableProperty GetSupportedPatterns
IsGridItemPatternAvailableProperty GetSupportedPatterns
IsGridPatternAvailableProperty GetSupportedPatterns
IsInvokePatternAvailableProperty GetSupportedPatterns
IsMultipleViewPatternAvailableProperty GetSupportedPatterns
IsRangeValuePatternAvailableProperty GetSupportedPatterns
IsScrollItemPatternAvailableProperty GetSupportedPatterns
IsScrollPatternAvailableProperty GetSupportedPatterns
IsSelectionItemPatternAvailableProperty GetSupportedPatterns
IsSelectionPatternAvailableProperty GetSupportedPatterns
IsTableItemPatternAvailableProperty GetSupportedPatterns
IsTablePatternAvailableProperty GetSupportedPatterns
IsTextPatternAvailableProperty GetSupportedPatterns
IsTogglePatternAvailableProperty GetSupportedPatterns
IsTransformPatternAvailableProperty GetSupportedPatterns
IsValuePatternAvailableProperty GetSupportedPatterns
IsWindowPatternAvailableProperty GetSupportedPatterns

Verschiedenes

Eigenschaftsbezeichner Eigenschaftenzugriff
IsRequiredForFormProperty IsRequiredForForm
IsPasswordProperty IsPassword
ItemStatusProperty ItemStatus

Lokalisierung

Benutzeroberflächenautomatisierungs-Anbieter sollten folgende Eigenschaften in der Sprache des Betriebssystems zur Verfügung stellen:

Eigenschaften und Ereignisse

Direkt verknüpft mit den Eigenschaften der Benutzeroberflächenautomatisierung ist das Konzept von Ereignissen aufgrund von geänderten Eigenschaften. Bei dynamischen Eigenschaften muss die Clientanwendung feststellen können, ob ein Eigenschaftswert geändert wurde. Nur dann kann sie die Informationen in ihrem Cache aktualisieren oder auf andere Weise auf die neuen Informationen reagieren.

Anbieter lösen Ereignisse aus, wenn in der Benutzeroberfläche irgendetwas geändert wurde. Wird zum Beispiel ein Kontrollkästchen aktiviert oder deaktiviert, wird von dem Umschaltmuster, das für den Anbieter implementiert ist, ein Ereignis entsprechend der Eigenschaftenänderung ausgelöst. Anbieter können abhängig davon, ob Clients Ereignissen oder bestimmten Ereignissen lauschen, selektiv Ereignisse auslösen.

Es werden nicht für alle Eigenschaftenänderung Ereignisse ausgelöst. Dies ist vollständig von der Implementierung des Benutzeroberflächenautomatisierungs-Anbieters für das Element abhängig. Die Standardproxyanbieter für Listenfelder lösen beispielsweise kein Ereignis aus, wenn SelectionProperty geändert wird. In diesem Fall muss die Anwendung einem ElementSelectedEventlauschen.

Clients lauschen Ereignissen, indem sie diese abonnieren. Durch das Abonnieren von Ereignissen werden Delegatenmethoden erstellt, die Ereignisse verarbeiten können. Die Methoden werden anschließend zusammen mit den darin verarbeiteten Ereignissen an die Benutzeroberflächenautomatisierung übergeben. Insbesondere für Ereignisse wegen geänderter Eigenschaften müssen Clients AutomationPropertyChangedEventHandlerimplementieren.

Weitere Informationen