Implementieren des Grid-Steuerelementmusters der Benutzeroberflächenautomatisierung

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.

Dieses Thema enthält Richtlinien und Konventionen für das Implementieren von IGridProvider, einschließlich Informationen über Eigenschaften, Methoden und Ereignissen. Links zu zusätzlichen Referenzen sind am Ende dieser Übersicht aufgelistet.

Das GridPattern -Steuerelementmuster wird zur Unterstützung von Steuerelementen verwendet, die als Container für eine Auflistung von untergeordneten Elementen dienen. Die untergeordneten Elemente dieses Elements müssen IGridItemProvider implementieren und in einem zweidimensionalen logischen Koordinatensystem angeordnet sein, das zeilen- und spaltenweise durchlaufen werden kann. Beispiele für Steuerelemente, die dieses Steuerelementmuster implementieren, finden Sie unter Control Pattern Mapping for UI Automation Clients.

Implementierungsrichtlinien und -konventionen

Beachten Sie beim Implementieren des Grid-Steuerelementmusters die folgenden Richtlinien und Konventionen:

  • Grid-Koordinaten sind nullbasiert, wobei die obere linke Zelle (oder die obere rechte Zelle, je nach Gebietsschema) die Koordinaten (0,0) aufweist.

  • Auch wenn eine Zelle leer ist, muss ein Benutzeroberflächenautomatisierungs-Element zurückgegeben werden, um die ContainingGrid -Eigenschaft dieser Zelle zu unterstützen. Dies ist möglich, wenn das Layout von untergeordneten Elementen im Raster dem eines unregelmäßigen Arrays entspricht (siehe folgendes Beispiel).

Windows Explorer view showing ragged layout. Beispiel für ein Rastersteuerelement mit leeren Koordinaten

  • Ein Raster mit einem einzelnen Element muss weiterhin IGridProvider implementieren, wenn es logisch als Raster gilt. Die Anzahl untergeordneter Elemente im Raster ist unwesentlich.

  • Ausgeblendete Zeilen und Spalten können je nach Anbieterimplementierung in der Struktur der Benutzeroberflächenautomatisierung geladen werden und werden daher in den Eigenschaften RowCount und ColumnCount wiedergegeben. Wenn die ausgeblendeten Zeilen und Spalten noch nicht geladen wurden, sollten sie nicht gezählt werden.

  • IGridProvider ermöglicht keine aktive Bearbeitung eines Rasters. ITransformProvider muss implementiert werden, um diese Funktionalität zu aktivieren.

  • Verwenden Sie einen StructureChangedEventHandler , um Änderungen an der Struktur oder am Layout des Raster zu erfassen, z. B. Zellen, die hinzugefügt, entfernt oder zusammengeführt wurden.

  • Verwenden Sie einen AutomationFocusChangedEventHandler , um den Durchlauf durch die Elemente oder Zellen eines Rasters zu verfolgen.

Erforderliche Member für IGridProvider

Zum Implementieren der IGridProvider-Schnittstelle werden die folgenden Eigenschaften und Methoden benötigt.

Erforderliche Member type Notizen
RowCount Eigenschaft Keine
ColumnCount Eigenschaft Keine
GetItem Methode Keine

Diesem Steuerelementmuster sind keine Ereignisse zugeordnet.

Ausnahmen

Anbieter müssen die folgenden Ausnahmen auslösen.

Ausnahmetyp Bedingung
ArgumentOutOfRangeException GetItem

– Wenn die angeforderte Zeilenkoordinate größer als RowCount bzw. die Spaltenkoordinate größer als ColumnCount ist.
ArgumentOutOfRangeException GetItem

– Wenn eine der beiden angeforderten Zeilen- oder Spaltenkoordinaten kleiner als 0 ist.

Siehe auch