Implementacja wzorca kontrolki siatki automatyzacji interfejsu użytkownika

Uwaga

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

W tym temacie przedstawiono wytyczne i konwencje implementacji 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ć przez wiersz i kolumnę. Przykłady kontrolek implementujących ten wzorzec kontrolki można znaleźć w temacie Control Pattern Mapping for automatyzacja interfejsu użytkownika Clients (Mapowanie wzorca kontrolek dla klientów automatyzacja interfejsu użytkownika).

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 zera z lewym górnym (lub prawą górną komórką w zależności od ustawień regionalnych) o współrzędnych (0, 0).

  • Jeśli komórka jest pusta, element automatyzacja interfejsu użytkownika musi być nadal zwracany w celu obsługi ContainingGrid właściwości 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).

Windows Explorer view showing ragged layout. Przykład kontrolki siatki z pustymi współrzędnymi

  • Siatka z pojedynczym elementem jest nadal wymagana do zaimplementowania IGridProvider , jeśli jest logicznie uważana za siatkę. 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 automatyzacja interfejsu użytkownika i dlatego zostaną odzwierciedlone we właściwościach RowCount iColumnCount. 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 układu siatki, takich jak komórki, które zostały dodane, usunięte lub scalone.

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

Wymagane elementy członkowskie dla IGridProvider

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

Wymagane elementy członkowskie Type Uwagi
RowCount Właściwości Brak
ColumnCount Właściwości Brak
GetItem Method Brak

Ten wzorzec kontrolki nie ma skojarzonych zdarzeń.

Wyjątki

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

Typ wyjątku Stan
ArgumentOutOfRangeException GetItem

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

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

Zobacz też