Menerapkan Pola Kontrol Value 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 IValueProvider, termasuk informasi tentang peristiwa dan properti. Link ke referensi tambahan tercantum di akhir topik.
Pola kontrol ValuePattern digunakan untuk mendukung kontrol yang memiliki nilai intrinsik yang tidak mencakup rentang dan yang dapat direpresentasikan sebagai string. String ini dapat diedit, tergantung pada kontrol dan pengaturannya. Untuk contoh kontrol yang menerapkan pola kontrol ini, lihat Pemetaan Pola Kontrol untuk Klien UI Automation.
Pedoman dan Konvensi Implementasi
Saat menerapkan pola kontrol Value, perhatikan panduan dan konvensi berikut:
- Kontrol seperti ListItem dan TreeItem harus mendukung ValuePattern jika nilai salah satu item dapat diedit, terlepas dari mode edit kontrol saat ini. Kontrol induk juga harus mendukung ValuePattern jika item turunan dapat diedit.
Contoh Item Daftar yang Dapat Diedit
Kontrol pengeditan baris tunggal mendukung akses terprogram ke kontennya dengan menerapkan IValueProvider. Namun, kontrol edit multibaris tidak menerapkan IValueProvider; sebaliknya kontrol tersebut menyediakan akses ke konten dengan menerapkan ITextProvider.
Untuk mengambil konten tekstual kontrol edit multibaris, kontrol harus mengimplementasikan ITextProvider. Namun, ITextProvider tidak mendukung pengaturan nilai kontrol.
IValueProvider tidak mendukung pengambilan informasi pemformatan atau nilai substring. Terapkan ITextProvider dalam skenario ini.
IValueProviderharus diimplementasikan oleh kontrol seperti kontrol pemilihan Pemilih Warna dari Microsoft Word (diilustrasikan di bawah), yang mendukung pemetaan string antara nilai warna (misalnya, "kuning") dan struktur RGB internal yang setara.
Contoh Pemetaan String Color Swatch
- Kontrol harus mengatur IsEnabledProperty ke
true
dan mengatur IsReadOnlyProperty kefalse
sebelum memungkinkan panggilan ke SetValue.
Anggota yang Diperlukan untuk IValueProvider
Properti dan metode berikut perlu menerapkan IValueProvider.
Anggota yang diperlukan | Jenis anggota | Catatan |
---|---|---|
IsReadOnlyProperty | Properti | Tidak |
ValueProperty | Properti | Tidak |
SetValue | Metode | Tidak |
Pengecualian
Penyedia harus menampilkan pengecualian berikut.
Jenis pengecualian | Kondisi |
---|---|
InvalidOperationException | SetValue - Jika informasi khusus lokal diteruskan ke kontrol dalam format yang salah seperti tanggal yang salah diformat. |
ArgumentException | SetValue - Jika nilai baru tidak dapat dikonversi dari string ke format yang dikenali kontrol. |
ElementNotEnabledException | SetValue - Jika upaya dilakukan untuk memanipulasi kontrol yang tidak diaktifkan. |