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 |