Bagikan melalui


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

Lihat juga