Menerapkan Pola Kontrol Kisi 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 menerapkan IGridProvider, termasuk informasi tentang properti, metode, dan peristiwa. Link ke referensi tambahan tercantum di akhir gambaran umum.
Pola kontrol GridPattern digunakan untuk mendukung kontrol yang bertindak sebagai kontainer untuk kumpulan elemen turunan. Elemen turunan ini harus menerapkan IGridItemProvider dan diatur dalam sistem koordinat logis dua dimensi yang dapat dilalui oleh baris dan kolom. Untuk contoh kontrol yang menerapkan pola kontrol ini, baca Pemetaan Pola Kontrol untuk Klien UI Automation.
Pedoman dan Konvensi Implementasi
Saat menerapkan pola kontrol Grid, perhatikan panduan dan konvensi berikut:
Koordinat kisi berbasis nol dengan kiri atas (atau sel kanan atas tergantung lokal) yang memiliki koordinat (0, 0).
Jika sel kosong, elemen UI Automation masih harus dikembalikan untuk mendukung properti ContainingGrid untuk sel tersebut. Hal ini dimungkinkan ketika tata letak elemen turunan dalam kisi mirip dengan array yang tidak rata (lihat contoh di bawah).
Contoh Kontrol Kisi dengan Koordinat Kosong
Kisi dengan satu item masih diperlukan untuk diimplementasikan IGridProvider jika secara logis dianggap sebagai kisi. Jumlah item turunan dalam kisi tidak bersifat imaterial.
Baris dan kolom tersembunyi, tergantung pada implementasi penyedia, dapat dimuat di pohon UI Automation dan oleh karena itu akan tercermin dalam properti RowCount dan ColumnCount. Jika baris dan kolom tersembunyi belum dimuat, baris dan kolom tersebut tidak boleh dihitung.
IGridProvider tidak mengaktifkan manipulasi aktif kisi; ITransformProvider harus diimplementasikan untuk mengaktifkan fungsionalitas ini.
Gunakan StructureChangedEventHandler untuk mendengarkan perubahan struktural atau tata letak ke kisi seperti sel yang telah ditambahkan, dihapus, atau digabungkan.
Gunakan AutomationFocusChangedEventHandler untuk melacak traversal melalui item atau sel kisi.
Anggota yang Diperlukan untuk IGridProvider
Properti dan metode berikut diperlukan untuk mengimplementasikan antarmuka IGridProvider.
Anggota yang diperlukan | Jenis | Catatan |
---|---|---|
RowCount | Properti | Tidak |
ColumnCount | Properti | Tidak |
GetItem | Metode | Tidak |
Pola kontrol ini tidak memiliki peristiwa terkait.
Pengecualian
Penyedia harus menampilkan pengecualian berikut.
Jenis pengecualian | Kondisi |
---|---|
ArgumentOutOfRangeException | GetItem - Jika koordinat baris yang diminta lebih besar dari RowCount atau koordinat kolom lebih besar dari ColumnCount. |
ArgumentOutOfRangeException | GetItem - Jika salah satu koordinat baris atau kolom yang diminta kurang dari nol. |