Dukungan UI Automation untuk Jenis Kontrol Daftar
Catatan
Dokumentasi ini ditujukan untuk pengembang .NET Framework yang ingin menggunakan kelas UI Automation terkelola yang ditentukan pada namespace System.Windows.Automation. Untuk informasi terbaru tentang UI Automation, lihat API Automasi Windows: Automasi Antarmuka Pengguna.
Topik ini memberikan informasi tentang dukungan UI Automation untuk jenis kontrol Daftar. Dalam UI Automation, jenis kontrol adalah kumpulan kondisi yang harus dipenuhi kontrol untuk menggunakan properti ControlTypeProperty. Kondisi ini mencakup pedoman khusus untuk struktur pohon UI Automation, nilai properti dan pola kontrol UI Automation.
Jenis kontrol Daftar menyediakan cara untuk mengatur grup datar atau grup item dan memungkinkan pengguna memilih satu atau beberapa item tersebut. Jenis kontrol Daftar memiliki batasan longgar pada jenis elemen turunan yang mungkin dikandungnya. Ini memungkinkan penyedia UI Automation untuk mendukung elemen terkenal untuk kontainer pemilihan.
Persyaratan UI Automation di bagian berikut ini berlaku untuk semua kontrol yang menerapkan jenis kontrol Daftar, baik Windows Presentation Foundation (WPF), Win32, atau Formulir Windows. Kontrol kontainer daftar adalah contoh kontrol yang menerapkan jenis kontrol Daftar.
Struktur Pohon UI Automation yang Diperlukan
Tabel berikut menggambarkan dua tampilan pohon UI Automation yang berkaitan dengan kontrol daftar dan menjelaskan apa yang dapat dimuat dalam setiap tampilan. Tampilan kontrol hanya berisi elemen yang merupakan kontrol, dan tampilan konten menghapus informasi redundan dari hierarki. Misalnya, kontrol teks yang digunakan untuk memberi label kotak kombo akan ditampilkan sebagai ComboBox NameProperty
. Karena kontrol teks sudah diekspos dengan cara ini melalui tampilan kontrol, tidak perlu mengeksposnya dua kali; oleh karena itu dihapus dari tampilan konten. Untuk informasi selengkapnya tentang pohon UI Automation, lihat Gambaran Umum Pohon UI Automation.
Tampilan Kontrol | Tampilan Konten |
---|---|
Berisi elemen yang sesuai dengan kontrol. | Menghapus informasi redundan dari pohon sehingga teknologi bantu bekerja dengan kumpulan informasi terkecil yang bermakna bagi pengguna akhir. |
List - DataItem (0 atau lebih) - ListItem (0 atau lebih) - Grup (0 atau lebih) - ScrollBar (0, 1 atau 2) |
List - DataItem (0 atau lebih) - ListItem (0 atau lebih) - Grup (0 atau lebih) |
Tampilan kontrol untuk kontrol yang menerapkan jenis kontrol Daftar (seperti kontrol daftar) terdiri dari:
Nol atau beberapa item dalam kontrol daftar (item dapat didasarkan pada jenis kontrol Item Daftar atau Item Data).
Nol atau lebih kontrol grup dalam kontrol daftar.
Nol, satu, atau dua kontrol bilah gulir.
Tampilan konten kontrol yang menerapkan jenis kontrol Daftar (seperti kontrol daftar) terdiri dari:
Nol atau beberapa item dalam kontrol daftar (item dapat didasarkan pada jenis kontrol Item Daftar atau Item Data).
Nol atau lebih grup dalam kontrol daftar.
Kontrol daftar tidak boleh memiliki item yang memiliki hubungan hierarkis selain yang dikelompokkan bersama. Jika item memiliki turunan di pohon UI Automation, maka kontainer daftar harus didasarkan pada jenis kontrol Pohon.
Item yang dapat dipilih dalam kontrol daftar akan tersedia dari turunan di pohon UI Automation dari kontrol daftar. Semua item dalam kontrol daftar harus termasuk dalam grup pilihan yang sama. Item yang dapat dipilih dalam daftar harus diekspos sebagai jenis kontrol ListItem (bukan DataItem).
Properti Azure Automation Antarmuka Pengguna yang Diperlukan
Tabel berikut mencantumkan properti UI Automation yang nilai atau definisinya sangat relevan dengan kontrol daftar. Untuk informasi selengkapnya tentang properti UI Automation, lihat Properti UI Automation untuk Klien.
Properti Automasi UI | Nilai | Catatan |
---|---|---|
AutomationIdProperty | Lihat catatan. | Nilai properti ini harus unik di semua kontrol dalam aplikasi. |
BoundingRectangleProperty | Lihat catatan. | Persegi terluar yang berisi seluruh kontrol. |
ClickablePointProperty | Lihat catatan. | Jika kontrol daftar memiliki titik yang dapat diklik (titik yang dapat diklik untuk membuat daftar menjadi fokus), maka titik tersebut harus diekspos melalui properti ini. Jika nilai properti IsOffScreen true, maka NoClickablePointException akan dinaikkan. |
IsKeyboardFocusableProperty | Lihat catatan. | Jika kontrol dapat menerima fokus keyboard, maka kontrol harus mendukung properti ini. |
NameProperty | Lihat catatan. | Nilai properti Nama kontrol daftar harus menyampaikan kategori opsi yang diminta untuk dipilih oleh pengguna. Properti ini biasanya mendapatkan namanya dari label teks statis. Jika tidak ada label teks statis, pengembang aplikasi harus mengekspos nilai untuk properti Nama. Satu-satunya waktu properti ini tidak diperlukan untuk kontrol daftar adalah jika kontrol digunakan dalam subpohon dari kontrol lain. |
LabeledByProperty | Lihat catatan. | Jika ada label teks statik, properti ini harus mengekspos referensi ke kontrol tersebut. |
ControlTypeProperty | List | Nilai ini sama untuk semua kerangka kerja UI. |
LocalizedControlTypeProperty | "daftar" | String yang dilokalkan sesuai dengan jenis kontrol Daftar. |
IsContentElementProperty | Benar | Kontrol daftar selalu disertakan dalam tampilan konten pohon UI Automation. |
IsControlElementProperty | Benar | Kontrol daftar selalu disertakan dalam tampilan kontrol pohon UI Automation. |
IsKeyboardFocusableProperty | Benar | Jika kontainer dapat menerima input keyboard maka nilai properti ini harus true. |
HelpTextProperty | Lihat catatan. | Teks Bantuan untuk kontrol daftar harus menjelaskan mengapa pengguna diminta untuk membuat pilihan dari daftar opsi. Misalnya, "Memilih item dari daftar ini akan mengatur resolusi tampilan untuk monitor Anda." |
Pola dan Properti Kontrol UI Automation yang Diperlukan
Tabel berikut mencantumkan pola kontrol UI Automation yang diperlukan untuk didukung oleh kontrol daftar. Untuk informasi selengkapnya tentang pola kontrol, lihat Gambaran Umum Pola Kontrol Automasi Antarmuka Pengguna.
Pola Kontrol/Properti Pola | Dukungan/Nilai | Catatan |
---|---|---|
ISelectionProvider | Wajib | Semua kontrol yang mendukung jenis kontrol Daftar harus menerapkan ISelectionProvider saat status pemilihan dipertahankan di antara item yang terdapat dalam kontrol. Jika item dalam kontainer tidak dapat dipilih, jenis kontrol Grup harus digunakan. |
IsSelectionRequired | Bergantung | Kontrol daftar tidak selalu mengharuskan item dipilih. |
CanSelectMultiple | Bergantung | Kontrol daftar dapat berupa kontainer pilihan tunggal atau ganda. |
IScrollProvider | Bergantung | Terapkan pola kontrol ini jika item dalam kontainer dapat digulir. |
IGridProvider | Bergantung | Terapkan pola ini ketika navigasi kisi perlu tersedia berdasarkan item per item. |
IMultipleViewProvider | Bergantung | Terapkan pola kontrol ini jika kontrol dapat mendukung beberapa tampilan item dalam kontainer. |
ITableProvider | Tidak pernah | ITableProvider tidak pernah didukung untuk jenis kontrol Daftar. Jika kontrol harus mendukung pola kontrol ini, maka kontrol harus didasarkan pada jenis kontrol Kisi Data. |
Peristiwa UI Automation yang Diperlukan
Tabel berikut mencantumkan peristiwa UI Automation yang diperlukan untuk didukung oleh semua kontrol daftar. Untuk informasi selengkapnya tentang acara, baca Gambaran Umum Peristiwa UI Automation.
Peristiwa UI Automation | Dukungan/Nilai | Catatan |
---|---|---|
InvalidatedEvent | Bergantung | Tidak |
LayoutInvalidatedEvent | Bergantung | Tidak |
BoundingRectangleProperty peristiwa perubahan properti. | Wajib | Tidak |
IsOffscreenProperty peristiwa perubahan properti. | Wajib | Tidak |
IsEnabledProperty peristiwa perubahan properti. | Wajib | Tidak |
CurrentViewProperty peristiwa perubahan properti. | Bergantung | Tidak |
HorizontallyScrollableProperty peristiwa perubahan properti. | Bergantung | Tidak |
HorizontalScrollPercentProperty peristiwa perubahan properti. | Bergantung | Tidak |
HorizontalViewSizeProperty peristiwa perubahan properti. | Bergantung | Tidak |
VerticalScrollPercentProperty peristiwa perubahan properti. | Bergantung | Tidak |
VerticallyScrollableProperty peristiwa perubahan properti. | Bergantung | Tidak |
VerticalViewSizeProperty peristiwa perubahan properti. | Bergantung | Tidak |
AutomationFocusChangedEvent | Wajib | Tidak |
StructureChangedEvent | Wajib | Tidak |