Menerapkan Pola Kontrol Gulir 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 IScrollProvider, termasuk informasi tentang peristiwa dan properti. Link ke referensi tambahan tercantum di akhir topik.
Pola kontrol ScrollPattern digunakan untuk mendukung kontrol yang bertindak sebagai kontainer yang dapat digulir untuk koleksi objek turunan. Kontrol tidak diperlukan untuk menggunakan bilah gulir untuk mendukung fungsi bergulir, meskipun biasanya diperlukan.
Contoh Kontrol Gulir yang Tidak Menggunakan Bilah Gulir
Untuk contoh kontrol yang menerapkan kontrol ini, baca Pemetaan Pola Kontrol untuk Klien UI Automation.
Pedoman dan Konvensi Implementasi
Saat menerapkan pola kontrol Gulir, perhatikan panduan dan konvensi berikut:
Turunan kontrol ini harus menerapkan IScrollItemProvider.
Bilah gulir kontrol kontainer tidak mendukung pola kontrol ScrollPattern. Sebagai gantinya, bilah gulir ini harus mendukung pola kontrol RangeValuePattern.
Saat pengguliran diukur dalam persentase, semua nilai atau jumlah yang terkait dengan kelulusan gulir harus dinormalisasi ke rentang 0 hingga 100.
HorizontallyScrollableProperty dan VerticallyScrollableProperty tidak bergantung pada IsEnabledProperty.
Jika HorizontallyScrollableProperty =
false
maka HorizontalViewSizeProperty harus diatur ke 100% dan HorizontalScrollPercentProperty harus diatur ke NoScroll. Sama halnya, jika VerticallyScrollableProperty =false
maka VerticalViewSizeProperty harus diatur ke 100 persen dan VerticalScrollPercentProperty harus diatur ke NoScroll. Hal ini memungkinkan klien UI Automation menggunakan nilai properti ini dalam metode SetScrollPercent sekaligus menghindari kondisi balapan jika arah yang tidak menarik bagi klien untuk menggulir menjadi aktif.HorizontalScrollPercent bersifat khusus lokal. Setelan HorizontalScrollPercent = 100.0 harus mengatur lokasi pengguliran kontrol ke posisi paling kanannya yang setara untuk beberapa bahasa seperti bahasa Inggris yang dibaca dari kiri ke kanan. Sebagai alternatif, untuk bahasa seperti bahasa Arab yang membaca dari kanan ke kiri, setelan HorizontalScrollPercent = 100.0 harus mengatur lokasi gulir ke posisi paling kiri.
Anggota yang Diperlukan untuk IScrollProvider
Properti dan metode berikut perlu menerapkan IScrollProvider.
Anggota yang diperlukan | Jenis anggota | Catatan |
---|---|---|
HorizontalScrollPercent | Properti | Tidak |
VerticalScrollPercent | Properti | Tidak |
HorizontalViewSize | Properti | Tidak |
VerticalViewSize | Properti | Tidak |
HorizontallyScrollable | Properti | Tidak |
VerticallyScrollable | Properti | Tidak |
Scroll | Metode | Tidak |
SetScrollPercent | Metode | Tidak |
Pola kontrol ini tidak memiliki peristiwa terkait.
Pengecualian
Penyedia harus menampilkan pengecualian berikut.
Tipe Pengecualian | Kondisi |
---|---|
ArgumentException | Scroll menampilkan pengecualian ini jika kontrol mendukung nilai SmallIncrement secara khusus untuk pengguliran horizontal atau vertikal, tetapi nilai LargeIncrement diteruskan. |
ArgumentException | SetScrollPercent menampilkan pengecualian ini jika nilai yang tidak dapat dikonversi ke ganda diteruskan. |
ArgumentOutOfRangeException | SetScrollPercent menampilkan pengecualian ini jika nilai yang lebih besar dari 100 atau kurang dari 0 diteruskan (kecuali -1 yang sama dengan NoScroll). |
InvalidOperationException | Scroll dan SetScrollPercent menampilkan pengecualian ini jika upaya dilakukan untuk menggulir ke arah yang tidak didukung. |