Udostępnij za pomocą


Wdrażanie wzorca sterowania siatką automatyzacji interfejsu użytkownika

Uwaga / Notatka

Ta dokumentacja jest przeznaczona dla deweloperów programu .NET Framework, którzy chcą używać zarządzanych klas automatyzacji interfejsu użytkownika zdefiniowanych w przestrzeni nazw System.Windows.Automation. Aby uzyskać najnowsze informacje na temat automatyzacji interfejsu użytkownika, zobacz Windows Automation API: Automatyzacja interfejsu użytkownika.

W tym temacie przedstawiono wytyczne i konwencje implementowania IGridProvider, w tym informacje o właściwościach, metodach i zdarzeniach. Linki do dodatkowych odwołań znajdują się na końcu przeglądu.

Wzorzec GridPattern kontrolki służy do obsługi kontrolek, które działają jako kontenery dla kolekcji elementów podrzędnych. Elementy podrzędne tego elementu muszą implementować IGridItemProvider i być zorganizowane w dwuwymiarowym układzie współrzędnych logicznych, który można przechodzić wierszami i kolumnami. Przykłady kontrolek implementujących ten wzorzec kontrolki można znaleźć w temacie Control Pattern Mapping for UI Automation Clients.

Wytyczne i konwencje implementacji

Podczas implementowania wzorca kontrolki Siatka należy pamiętać o następujących wytycznych i konwencjach:

  • Współrzędne siatki są oparte na zerze, przy czym lewa górna komórka (lub prawa górna, w zależności od ustawień regionalnych) ma współrzędne (0, 0).

  • Jeśli komórka jest pusta, należy nadal zwracać element automatyzacji interfejsu użytkownika w celu obsługi właściwości ContainingGrid dla tej komórki. Jest to możliwe, gdy układ elementów podrzędnych w siatce jest podobny do poszarpanej tablicy (zobacz przykład poniżej).

Widok Eksploratora Windows przedstawiający nieregularny układ. Przykład kontrolki siatki z pustymi współrzędnymi

  • Siatka z pojedynczym elementem jest nadal wymagana do zaimplementowania IGridProvider, jeśli jest logicznie traktowana jako siatka. Liczba elementów podrzędnych w siatce jest niematerialna.

  • Ukryte wiersze i kolumny, w zależności od implementacji dostawcy, mogą zostać załadowane w drzewie automatyzacji interfejsu użytkownika i dlatego zostaną odzwierciedlone we właściwościach RowCount i ColumnCount . Jeśli ukryte wiersze i kolumny nie zostały jeszcze załadowane, nie powinny być zliczane.

  • IGridProvider nie umożliwia aktywnego manipulowania siatką; ITransformProvider należy zaimplementować, aby włączyć tę funkcję.

  • Użyj elementu StructureChangedEventHandler, aby nasłuchiwać zmian strukturalnych lub zmiany układu siatki, takich jak komórki, które zostały dodane, usunięte lub scalone.

  • Użyj AutomationFocusChangedEventHandler, aby śledzić przechodzenie przez elementy lub komórki siatki.

Wymagani członkowie w IGridProvider

Następujące właściwości i metody są wymagane do zaimplementowania interfejsu IGridProvider.

Wymagani członkowie Typ Notatki
RowCount Majątek Żaden
ColumnCount Majątek Żaden
GetItem Metoda Żaden

Ten wzorzec kontrolki nie ma skojarzonych zdarzeń.

Wyjątki

Dostawcy muszą zgłaszać następujące wyjątki.

Typ wyjątku Warunek
ArgumentOutOfRangeException GetItem

- Jeśli żądana współrzędna wiersza jest większa niż RowCount lub współrzędna kolumny jest większa niż ColumnCount.
ArgumentOutOfRangeException GetItem

— Jeśli którakolwiek z żądanych współrzędnych wiersza lub kolumny jest mniejsza niż zero.

Zobacz także