Udostępnij za pośrednictwem


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

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.

Ten temat zawiera informacje o obsłudze automatyzacja interfejsu użytkownika firmy Microsoft dla typu kontrolki DataItem. W automatyzacja interfejsu użytkownika typem kontrolki jest zestaw warunków, które musi spełniać kontrolka ControlTypeProperty w celu użycia właściwości . Warunki obejmują konkretne wytyczne dotyczące struktury drzewa automatyzacja interfejsu użytkownika, automatyzacja interfejsu użytkownika wartości właściwości i wzorce 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 automatyzacja interfejsu użytkownika, właściwości, wzorce kontrolek i zdarzenia dla typu kontrolki DataItem. Wymagania dotyczące automatyzacja 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 automatyzacja interfejsu użytkownika

W poniższej tabeli przedstawiono widok kontrolki i widok zawartości drzewa automatyzacja 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 automatyzacja interfejsu użytkownika, zobacz omówienie drzewa automatyzacja interfejsu użytkownika.

drzewo automatyzacja interfejsu użytkownika — widok sterowania drzewo automatyzacja interfejsu użytkownika — widok zawartości
Dataitem

- Zmienia się (co najmniej 0; może być ustrukturyzowany w hierarchii)
Dataitem

- Zmienia się (co najmniej 0; 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 automatyzacja 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 automatyzacja interfejsu użytkownika, zobacz automatyzacja interfejsu użytkownika Właściwości dla klientów.

Właściwości Wartość Uwagi
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ątze ograniczenia jest klikalny, i wykonujesz wyspecjalizowane testowanie trafień, przesłoń i zapewnia punkt 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 automatyzacja interfejsu użytkownika

W poniższej tabeli wymieniono wzorce kontrolek automatyzacja interfejsu użytkownika firmy Microsoft wymagane do obsługi przez wszystkie kontrolki elementów danych. Aby uzyskać więcej informacji na temat wzorców kontrolek, zobacz automatyzacja interfejsu użytkownika Control Patterns Overview (Omówienie wzorców kontrolek automatyzacja interfejsu użytkownika).

Wzorzec kontrolki Pomoc techniczna Uwagi
IExpandCollapseProvider Zależy Jeśli element danych można rozwinąć lub zwinąć, aby pokazać i ukryć informacje, wzorzec Rozwiń zwiń musi być obsługiwany.
IGridItemProvider Zależy Elementy danych będą obsługiwać wzorzec elementu siatki, gdy kolekcja elementów danych jest dostępna w kontenerze, który może być przestrzennie nawigowany po elemencie-element.
IScrollItemProvider Zależy Wszystkie elementy danych obsługują możliwość przewijania do widoku za pomocą wzorca Przewijanie elementu, gdy ich kontener danych ma więcej 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, przez który można przechodzić cykl.
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 zwirtualizowane w strukturach interfejsu użytkownika, aby pomóc w wydajności. W związku z tym klient automatyzacja interfejsu użytkownika nie może użyć funkcji zapytania automatyzacja interfejsu użytkownika, aby zeskrobać zawartość pełnego drzewa w taki sam sposób, jak 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 elementu automatyzacja interfejsu użytkownika dla elementu danych przypadek Eksploratora Microsoft Windows zostanie zwrócony pomyślnie i spowoduje ustawienie fokusu na Edytuj w poddrzewie elementu danych.

Wymagane zdarzenia automatyzacja interfejsu użytkownika

W poniższej tabeli wymieniono zdarzenia automatyzacja 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ń automatyzacja interfejsu użytkownika.

zdarzenie automatyzacja interfejsu użytkownika Pomoc techniczna Uwagi
AutomationFocusChangedEvent Wymagania Brak
BoundingRectangleProperty zdarzenie zmienione właściwości. Wymagania Brak
IsEnabledProperty zdarzenie zmienione właściwości. Wymagania Brak
IsOffscreenProperty zdarzenie zmienione właściwości. Wymagania Brak
NameProperty zdarzenie zmienione właściwości. Wymagania Brak
StructureChangedEvent Wymagania Brak
InvokedEvent Zależy Brak
ExpandCollapseStateProperty zdarzenie zmienione właściwości. Zależy Brak
ElementAddedToSelectionEvent Wymagania Brak
ElementRemovedFromSelectionEvent Wymagania Brak
ElementSelectedEvent Wymagania Brak
ToggleStateProperty zdarzenie zmienione właściwości. Zależy Brak
ValueProperty zdarzenie zmienione właściwości. Zależy Brak

Przykładowy typ kontrolki DataItem

Na poniższej ilustracji przedstawiono typ kontrolki DataItem w kontrolce Widok listy z obsługą zaawansowanych informacji dla kolumn.

Graphic of a List View control with two data items

Poniżej zostanie wyświetlony widok kontrolki i widok zawartości drzewa automatyzacja interfejsu użytkownika odnoszącego 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 automatyzacja interfejsu użytkownika — widok sterowania drzewo automatyzacja interfejsu użytkownika — widok zawartości
- Grupa "Contoso" (tabela, siatka)
- DataItem "Accounts Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke)
- Obraz "Konta Receivable.doc"
- Edytuj "Name" (TableItem, GridItem, Value "Accounts Receivable.doc")
- Edytuj "Date modified" (TableItem, GridItem, Value "8/25/2006 3:29 PM")
- Edytuj "Size" (GridItem, TableItem, Value "11.0 KB)
- DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)
- ...
- Grupa "Contoso" (tabela, siatka)
- DataItem "Accounts Receivable.doc" (TableItem, GridItem, SelectionItem, Invoke)
- Obraz "Konta Receivable.doc"
- Edytuj "Name" (TableItem, GridItem, Value "Accounts Receivable.doc")
- Edytuj "Date modified" (TableItem, GridItem, Value "8/25/2006 3:29 PM")
- Edytuj "Size" (GridItem, TableItem, Value "11.0 KB)
- DataItem "Accounts Payable.doc" (TableItem, GridItem, SelectionItem, Invoke)
- ...

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 też