Udostępnij za pomocą


Obsługa automatyzacji interfejsu użytkownika dla typu kontrolki DataItem

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.

Ten temat zawiera informacje o obsłudze automatyzacji interfejsu użytkownika firmy Microsoft dla typu kontrolki DataItem. W automatyzacji interfejsu użytkownika typ kontrolki jest zestawem warunków, które kontrolka musi spełniać w celu użycia ControlTypeProperty właściwości. Warunki obejmują konkretne wytyczne dotyczące struktury drzewa automatyzacji interfejsu użytkownika, wartości właściwości automatyzacji interfejsu użytkownika i wzorców kontrolek.

Wpis na liście Kontakty jest przykładem kontrolki elementu danych. Kontrolka elementu danych zawiera informacje interesujące użytkownika końcowego. Jest bardziej skomplikowany niż prosty element listy, ponieważ zawiera on bogatsze informacje.

W poniższych sekcjach zdefiniowano wymaganą strukturę drzewa automatyzacji interfejsu użytkownika, właściwości, wzorce kontrolek i zdarzenia dla typu kontrolki DataItem. Wymagania automatyzacji interfejsu użytkownika mają zastosowanie do wszystkich kontrolek elementów danych, niezależnie od tego, czy windows Presentation Foundation (WPF), Win32 lub Windows Forms.

Wymagana struktura drzewa automatyzacji interfejsu użytkownika

W poniższej tabeli przedstawiono widok kontrolki i widok zawartości drzewa automatyzacji interfejsu użytkownika odnoszącego się do kontrolek elementów danych i opisano, co można zawierać w każdym widoku. Aby uzyskać więcej informacji na temat drzewa automatyzacji interfejsu użytkownika, zobacz Omówienie drzewa automatyzacji interfejsu użytkownika.

Drzewo automatyzacji interfejsu użytkownika — widok sterowania Drzewo automatyzacji interfejsu użytkownika — widok zawartości
DataItem

- Zmienia się (0 lub więcej; może być ustrukturyzowany w hierarchii)
DataItem

- Zmienia się (0 lub więcej; może być ustrukturyzowany w hierarchii)

Element elementu danych w siatce danych może hostować różne obiekty, w tym inną warstwę elementów danych lub określone elementy siatki, takie jak tekst, obrazy lub kontrolki edycji. Jeśli element elementu danych ma określoną rolę obiektu, element powinien być uwidoczniony jako określony typ kontrolki; na przykład typ kontrolki ListItem dla wybranego elementu danych w siatce.

Wymagane właściwości automatyzacji interfejsu użytkownika

W poniższej tabeli wymieniono właściwości, których wartość lub definicja jest szczególnie istotna dla kontrolek elementów danych. Aby uzyskać więcej informacji na temat właściwości automatyzacji interfejsu użytkownika, zobacz Właściwości automatyzacji interfejsu użytkownika dla klientów.

Majątek Wartość Notatki
AutomationIdProperty Zobacz uwagi. Wartość tej właściwości musi być unikatowa we wszystkich kontrolkach w aplikacji.
BoundingRectangleProperty Zobacz uwagi. Najbardziej oddalony prostokąt, który zawiera całą kontrolkę.
ClickablePointProperty Zobacz uwagi. Obsługiwane, jeśli istnieje prostokąt ograniczenia. Jeśli nie każdy punkt w prostokącie ograniczającym jest klikalny i wykonujesz wyspecjalizowane testowanie trafień, zapewnij punkt, który jest możliwy do kliknięcia.
ControlTypeProperty DataItem Ta wartość jest taka sama dla wszystkich struktur interfejsu użytkownika.
IsContentElementProperty Prawda Kontrolka elementu danych musi zawsze być zawartością.
IsControlElementProperty Prawda Kontrolka elementu danych musi zawsze być kontrolką.
IsKeyboardFocusableProperty Zobacz uwagi. Jeśli kontrolka może odbierać fokus klawiatury, musi obsługiwać tę właściwość.
ItemStatusProperty Zobacz uwagi. Jeśli kontrolka zawiera stan aktualizowany dynamicznie, ta właściwość musi być obsługiwana, aby technologia pomocna mogła odbierać aktualizacje po zmianie stanu elementu.
ItemTypeProperty Zobacz uwagi. Jest to wartość ciągu, która przekazuje użytkownikowi końcowemu obiekt źródłowy reprezentowany przez element. Przykłady to "Plik multimedialny" lub "Kontakt".
LabeledByProperty Null Kontrolki elementów danych nie mają statycznej etykiety tekstowej.
LocalizedControlTypeProperty "element danych" Zlokalizowany ciąg odpowiadający typowi kontrolki DataItem.
NameProperty Zobacz uwagi. Kontrolka elementu danych zawsze zawiera podstawowy element tekstowy, który odnosi się do tego, co użytkownik skojarzy jako najbardziej semantyczny identyfikator elementu.

Wymagane wzorce kontrolek automatyzacji interfejsu użytkownika

W poniższej tabeli wymieniono wzorce kontrolek automatyzacji interfejsu użytkownika firmy Microsoft wymagane do obsługi wszystkich kontrolek elementów danych. Aby uzyskać więcej informacji na temat wzorców elementów sterujących, zajrzyj do Omówienie wzorców automatyzacji interfejsu użytkownika.

Wzorzec kontrolki Wsparcie Notatki
IExpandCollapseProvider Zależy Jeśli element danych można rozwinąć lub zwinąć, aby pokazać i ukryć informacje, wzorzec rozwiń zwinń musi być obsługiwany.
IGridItemProvider Zależy Elementy danych będą obsługiwać wzorzec elementu siatki, gdy w kontenerze dostępna jest kolekcja elementów danych, którą można nawigować przestrzennie między elementami.
IScrollItemProvider Zależy Wszystkie elementy danych obsługują możliwość przewijania do odpowiedniego obszaru za pomocą wzorca przewijania elementu, gdy ich kontener zawierający dane ma więcej tych elementów niż można zmieścić na ekranie.
ISelectionItemProvider Tak Wszystkie elementy danych muszą obsługiwać wzorzec elementu zaznaczenia, aby wskazać, kiedy element jest zaznaczony.
ITableItemProvider Zależy Jeśli element danych jest zawarty w typie kontrolki Data Grid, będzie on obsługiwał ten wzorzec.
IToggleProvider Zależy Jeśli element danych zawiera stan, który można przełączać cyklicznie.
IValueProvider Zależy Jeśli podstawowy tekst elementu danych jest edytowalny, wzorzec wartości musi być obsługiwany.

Praca z elementami danych na dużych listach

Duże listy są często wirtualizowane w ramach interfejsu użytkownika, aby poprawić wydajność. Z tego powodu klient Automatyzacji Interfejsu Użytkownika nie może używać funkcji zapytania do wyciągania zawartości całego drzewa w taki sam sposób, jak można to robić w innych kontenerach elementów. Klient powinien przewinąć element do widoku (lub rozwinąć kontrolkę, aby wyświetlić wszystkie cenne opcje) przed uzyskaniem dostępu do pełnego zestawu informacji z elementu danych.

Podczas wywoływania SetFocus na elemencie automatyzacji interfejsu użytkownika dla elementu danych, przypadek Eksploratora plików Windows zostanie zwrócony jako pomyślny i spowoduje ustawienie fokusu na pole edycji w poddrzewie elementu danych.

Wymagane zdarzenia automatyzacji interfejsu użytkownika

W poniższej tabeli wymieniono zdarzenia automatyzacji interfejsu użytkownika wymagane do obsługi przez wszystkie kontrolki elementów danych. Aby uzyskać więcej informacji na temat zdarzeń, zobacz Omówienie zdarzeń automatyzacji interfejsu użytkownika.

Zdarzenie automatyzacji interfejsu użytkownika Wsparcie Notatki
AutomationFocusChangedEvent Wymagane Żaden
BoundingRectangleProperty zdarzenie zmiany właściwości. Wymagane Żaden
IsEnabledProperty zdarzenie zmiany właściwości. Wymagane Żaden
IsOffscreenProperty zdarzenie zmiany właściwości. Wymagane Żaden
NameProperty zdarzenie zmiany właściwości. Wymagane Żaden
StructureChangedEvent Wymagane Żaden
InvokedEvent Zależy Żaden
ExpandCollapseStateProperty zdarzenie zmiany właściwości. Zależy Żaden
ElementAddedToSelectionEvent Wymagane Żaden
ElementRemovedFromSelectionEvent Wymagane Żaden
ElementSelectedEvent Wymagane Żaden
ToggleStateProperty zdarzenie zmiany właściwości. Zależy Żaden
ValueProperty zdarzenie zmiany właściwości. Zależy Żaden

Przykładowy typ kontrolki DataItem

Na poniższym obrazku przedstawiono typ kontrolki DataItem w widoku listy, który obsługuje bogate informacje dla kolumn.

Ilustracja kontrolki widoku listy z dwoma elementami danych

Poniżej wyświetlony zostanie widok kontrolny i widok zawartości drzewa automatyzacji interfejsu użytkownika, które odnoszą się do kontrolki elementu danych. Wzorce sterowania dla każdego elementu automatyzacji są wyświetlane w nawiasach. Grupa "Contoso" jest również częścią siatki kontrolki hosta usługi Data Grid.

Drzewo automatyzacji interfejsu użytkownika — widok sterowania Drzewo automatyzacji interfejsu użytkownika — widok zawartości
- Grupa "Contoso" (tabela, siatka)
** - DataItem "Należności.doc" (TableItem, GridItem, SelectionItem, Invoke)
- Obraz "Konta Receivable.doc"
- Edytuj "Nazwa" (TableItem, GridItem, Wartość "Accounts Receivable.doc")
- Edytuj "Data modyfikacji" (TableItem, GridItem, Value "25.08.2006 15:29")
- Edytuj "Rozmiar" (GridItem, TableItem, Value "11,0 KB)
- DataItem "Zobowiązania Do Zapłaty.doc" (Element Tabeli, Element Siatki, Element Wyboru, Wywołanie)
- ...
- Grupa "Contoso" (tabela, siatka)
** - DataItem "Należności.doc" (TableItem, GridItem, SelectionItem, Invoke)
- Obraz "Konta Receivable.doc"
- Edytuj "Nazwa" (TableItem, GridItem, Wartość "Accounts Receivable.doc")
- Edytuj "Data modyfikacji" (TableItem, GridItem, Value "25.08.2006 15:29")
- Edytuj "Rozmiar" (GridItem, TableItem, Value "11,0 KB)
- DataItem "Zobowiązania Do Zapłaty.doc" (Element Tabeli, Element Siatki, Element Wyboru, Wywołanie)
- …

Jeśli siatka reprezentuje listę wybranych elementów, odpowiednie elementy interfejsu użytkownika można uwidocznić za pomocą typu kontrolki ListItem zamiast typu kontrolki DataItem. W poprzednim przykładzie elementy DataItem ("Accounts Receivable.doc" i "Accounts Payable.doc") w obszarze Grupa ("Contoso") można ulepszyć, ujawniając je jako typy kontrolek ListItem, ponieważ ten typ obsługuje już wzorzec kontrolki SelectionItem.

Zobacz także