Menerapkan Pola Kontrol Pilihan UI Automation
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 memperkenalkan pedoman dan konvensi untuk penerapan ISelectionProvider, termasuk informasi tentang peristiwa dan properti. Link ke referensi tambahan tercantum di akhir topik.
Pola kontrol SelectionPattern digunakan untuk mendukung kontrol yang bertindak sebagai kontainer untuk kumpulan item turunan yang dapat dipilih. Turunan elemen ini harus menerapkan ISelectionItemProvider. Untuk contoh kontrol yang menerapkan pola kontrol ini, baca Pemetaan Pola Kontrol untuk Klien UI Automation.
Pedoman dan Konvensi Implementasi
Saat menerapkan pola kontrol Pemilihan, perhatikan panduan dan konvensi berikut:
Kontrol yang mengimplementasikan ISelectionProvider memperbolehkan item turunan tunggal atau beberapa dipilih. Misalnya, kotak daftar, tampilan daftar, dan tampilan pohon mendukung beberapa pilihan sedangkan kotak kombo, penggeser, dan grup tombol radio mendukung pilihan tunggal.
Kontrol yang memiliki rentang minimum, maksimum, dan berkelanjutan, seperti kontrol penggeser Volume, harus diimplementasikan IRangeValueProvider alih-alih ISelectionProvider.
Kontrol pilihan tunggal yang mengelola kontrol turunan yang mengimplementasikan IRawElementProviderFragmentRoot, seperti penggeser Resolusi Layar dalam kotak dialog Properti Tampilan atau kontrol pemilihan Pemilih Warna dari Microsoft Word (diilustrasikan di bawah), harus mengimplementasikan ISelectionProvider; elemen turunannya harus mengimplementasikan IRawElementProviderFragment dan ISelectionItemProvider.
Contoh Pemetaan String Color Swatch
- Menu tidak mendukung SelectionPattern. Jika Anda bekerja dengan item menu yang menyertakan grafik dan teks (seperti item Panel Pratinjau di menu Tampilan di Microsoft Outlook) dan perlu menyampaikan status, Anda harus menerapkan IToggleProvider.
Anggota yang Diperlukan untuk ISelectionProvider
Properti, metode, dan peristiwa berikut diperlukan untuk antarmuka ISelectionProvider.
Anggota yang diperlukan | Jenis | Catatan |
---|---|---|
CanSelectMultiple | Properti | Harus mendukung peristiwa yang diubah properti menggunakan AddAutomationPropertyChangedEventHandler dan RemoveAutomationPropertyChangedEventHandler. |
IsSelectionRequired | Properti | Harus mendukung peristiwa yang diubah properti menggunakan AddAutomationPropertyChangedEventHandler dan RemoveAutomationPropertyChangedEventHandler. |
GetSelection | Metode | Tidak |
InvalidatedEvent | Kejadian | Dimunculkan ketika pilihan dalam kontainer telah berubah secara signifikan dan memerlukan pengiriman lebih banyak peristiwa penambahan dan penghapusan daripada izin konstanta InvalidateLimit. |
Properti IsSelectionRequired dan CanSelectMultiple bisa dinamis. Misalnya, status awal kontrol mungkin tidak memiliki item apa pun yang dipilih secara default, menunjukkan bahwa IsSelectionRequired adalah false
. Namun, setelah item dipilih, kontrol harus selalu memiliki setidaknya satu item yang dipilih. Demikian pula, dalam kasus yang jarang terjadi, kontrol mungkin memungkinkan beberapa item dipilih pada inisialisasi, tetapi kemudian hanya mengizinkan pilihan tunggal yang akan dibuat.
Pengecualian
Penyedia harus menampilkan pengecualian berikut.
Tipe Pengecualian | Kondisi |
---|---|
ElementNotEnabledException | Jika kontrol tidak diaktifkan. |
InvalidOperationException | Jika kontrol disembunyikan. |