Udostępnij za pośrednictwem


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

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 dla typu kontrolki Lista. W automatyzacja interfejsu użytkownika typ kontrolki jest zestawem 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.

Typ kontrolki Lista umożliwia organizowanie płaskiej grupy lub grup elementów i umożliwia użytkownikowi wybranie co najmniej jednego z tych elementów. Typ kontrolki Lista ma luźne ograniczenie dotyczące typów elementów podrzędnych, które mogą zawierać. Dzięki temu dostawcy automatyzacja interfejsu użytkownika mogą obsługiwać dobrze znany element dla kontenerów wyboru.

Wymagania automatyzacja interfejsu użytkownika w poniższych sekcjach dotyczą wszystkich kontrolek implementujących typ kontrolki Lista, niezależnie od tego, czy windows Presentation Foundation (WPF), Win32 lub Windows Forms. Kontrolki kontenera listy to przykład kontrolek implementujących typ kontrolki Lista.

Wymagana struktura drzewa automatyzacja interfejsu użytkownika

W poniższej tabeli przedstawiono dwa widoki drzewa automatyzacja interfejsu użytkownika odnoszące się do kontrolek listy i opisano, co można zawierać w każdym widoku. Widok kontrolki zawiera tylko elementy, które są kontrolkami, a widok zawartości usuwa nadmiarowe informacje z drzewa. Na przykład kontrolka tekstu używana do etykietowania pola kombi zostanie uwidoczniona jako ComboBox NameProperty. Ponieważ kontrolka tekstu jest już uwidoczniona w ten sposób za pośrednictwem widoku kontrolki, nie jest konieczne ich dwukrotne uwidocznienie; w związku z tym jest on usuwany z widoku zawartości. Aby uzyskać więcej informacji na temat drzewa automatyzacja interfejsu użytkownika, zobacz omówienie drzewa automatyzacja interfejsu użytkownika.

Widok kontrolki Widok zawartości
Zawiera elementy, które odpowiadają kontrolkom. Usuwa nadmiarowe informacje z drzewa, dzięki czemu technologie pomocnicze współpracują z najmniejszym zestawem znaczących informacji dla użytkownika końcowego.
List

— DataItem (co najmniej 0)
- ListItem (co najmniej 0)
- Grupa (co najmniej 0)
- Pasek przewijania (0, 1 lub 2)
List

— DataItem (co najmniej 0)
- ListItem (co najmniej 0)
- Grupa (co najmniej 0)

Widok kontrolki kontrolki implementujący typ kontrolki Lista (na przykład kontrolka listy) składa się z następujących elementów:

  • Zero lub więcej elementów w kontrolce listy (elementy mogą być oparte na typach kontrolek Element listy lub Element danych).

  • Zero lub więcej kontrolek grupy w kontrolce listy.

  • Zero, jeden lub dwa kontrolki paska przewijania.

Widok zawartości kontrolki implementujący typ kontrolki Lista (na przykład kontrolka listy) składa się z następujących elementów:

  • Zero lub więcej elementów w kontrolce listy (elementy mogą być oparte na typach kontrolek Element listy lub Element danych).

  • Zero lub więcej grup w kontrolce listy.

Kontrolka listy nie może zawierać elementów, które mają relację hierarchiczną inną niż grupowanie. Jeśli elementy mają elementy podrzędne w drzewie automatyzacja interfejsu użytkownika, kontener listy powinien być oparty na typie kontrolki Drzewo.

Elementy do wyboru w kontrolce listy będą dostępne z elementów podrzędnych w drzewie automatyzacja interfejsu użytkownika kontrolki listy. Wszystkie elementy w kontrolce listy muszą należeć do tej samej grupy wyboru. Wybrane elementy na liście powinny być uwidocznione jako typy kontrolek ListItem (zamiast DataItem).

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

W poniższej tabeli wymieniono właściwości automatyzacja interfejsu użytkownika, których wartość lub definicja są szczególnie istotne dla kontrolek listy. 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ść automatyzacja interfejsu użytkownika 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. Jeśli kontrolka listy ma punkt możliwy do kliknięcia (punkt, który można kliknąć, aby spowodować skupienie listy), ten punkt musi być uwidoczniony za pośrednictwem tej właściwości.

Jeśli wartość IsOffScreen właściwości ma wartość true, zostanie podniesiona NoClickablePointException wartość .
IsKeyboardFocusableProperty Zobacz uwagi. Jeśli kontrolka może odbierać fokus klawiatury, musi obsługiwać tę właściwość.
NameProperty Zobacz uwagi. Wartość właściwości Name kontrolki listy powinna przekazać kategorię opcji, z których użytkownik jest proszony o wybranie. Ta właściwość zazwyczaj pobiera swoją nazwę z etykiety tekstowej statycznej. Jeśli nie ma statycznej etykiety tekstowej, deweloper aplikacji musi uwidocznić wartość właściwości Name.

Jedynym czasem, gdy ta właściwość nie jest wymagana dla kontrolek listy, jest to, czy kontrolka jest używana w poddrzewie innej kontrolki.
LabeledByProperty Zobacz uwagi. Jeśli istnieje statyczna etykieta tekstowa, ta właściwość musi uwidocznić odwołanie do tej kontrolki.
ControlTypeProperty List Ta wartość jest taka sama dla wszystkich struktur interfejsu użytkownika.
LocalizedControlTypeProperty "lista" Zlokalizowany ciąg odpowiadający typowi kontrolki Lista.
IsContentElementProperty Prawda Kontrolka listy jest zawsze uwzględniana w widoku zawartości drzewa automatyzacja interfejsu użytkownika.
IsControlElementProperty Prawda Kontrolka listy jest zawsze uwzględniana w widoku kontrolki drzewa automatyzacja interfejsu użytkownika.
IsKeyboardFocusableProperty Prawda Jeśli kontener może akceptować dane wejściowe klawiatury, ta wartość właściwości powinna mieć wartość true.
HelpTextProperty Zobacz uwagi. Tekst Pomocy dla kontrolek listy powinien wyjaśnić, dlaczego użytkownik jest proszony o dokonanie wyboru z listy opcji. Na przykład "Wybór elementu z tej listy spowoduje ustawienie rozdzielczości wyświetlania dla monitora".

Wymagane wzorce i właściwości kontrolek automatyzacja interfejsu użytkownika

W poniższej tabeli wymieniono wzorce kontrolek automatyzacja interfejsu użytkownika wymagane do obsługi przez kontrolki listy. 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/wzorzec kontrolki, właściwość Pomoc techniczna/wartość Uwagi
ISelectionProvider Wymagania Wszystkie kontrolki obsługujące typ kontrolki Lista muszą być implementowane ISelectionProvider , gdy między elementami zawartymi w kontrolce jest utrzymywany stan zaznaczenia. Jeśli elementy w kontenerze nie można wybrać, należy użyć typu kontrolki Grupa.
IsSelectionRequired Zależy Kontrolki listy nie zawsze wymagają wybrania elementu.
CanSelectMultiple Zależy Kontrolki listy mogą być kontenerami pojedynczego lub wielokrotnego wyboru.
IScrollProvider Zależy Zaimplementuj ten wzorzec kontrolki, jeśli elementy w kontenerze można przewijać.
IGridProvider Zależy Zaimplementuj ten wzorzec, gdy nawigacja w siatce musi być dostępna dla elementu według elementu.
IMultipleViewProvider Zależy Zaimplementuj ten wzorzec kontrolki, jeśli kontrolka może obsługiwać wiele widoków elementów w kontenerze.
ITableProvider Nigdy ITableProvider dla typu kontrolki Lista nigdy nie jest obsługiwana. Jeśli kontrolka powinna obsługiwać ten wzorzec kontrolki, kontrolka powinna być oparta na typie kontrolki Data Grid.

Wymagane zdarzenia automatyzacja interfejsu użytkownika

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

zdarzenie automatyzacja interfejsu użytkownika Pomoc techniczna/wartość Uwagi
InvalidatedEvent Zależy Brak
LayoutInvalidatedEvent Zależy Brak
BoundingRectangleProperty zdarzenie zmienione właściwości. Wymagania Brak
IsOffscreenProperty zdarzenie zmienione właściwości. Wymagania Brak
IsEnabledProperty zdarzenie zmienione właściwości. Wymagania Brak
CurrentViewProperty zdarzenie zmienione właściwości. Zależy Brak
HorizontallyScrollableProperty zdarzenie zmienione właściwości. Zależy Brak
HorizontalScrollPercentProperty zdarzenie zmienione właściwości. Zależy Brak
HorizontalViewSizeProperty zdarzenie zmienione właściwości. Zależy Brak
VerticalScrollPercentProperty zdarzenie zmienione właściwości. Zależy Brak
VerticallyScrollableProperty zdarzenie zmienione właściwości. Zależy Brak
VerticalViewSizeProperty zdarzenie zmienione właściwości. Zależy Brak
AutomationFocusChangedEvent Wymagania Brak
StructureChangedEvent Wymagania Brak

Zobacz też