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).
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ż
- Wzorce kontrolek automatyzacji interfejsu użytkownika — omówienie
- Obsługa wzorców kontrolek dostawcy automatyzacji interfejsu użytkownika
- Wzorce kontrolek automatyzacji interfejsu użytkownika dla klientów
- Implementacja wzorca kontrolki GridItem dla automatyzacji interfejsu użytkownika
- Przegląd drzewa automatyzacji interfejsu użytkownika
- Używanie buforowania w automatyzacji interfejsu użytkownika