Bagikan melalui


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).

Windows Explorer view showing ragged layout. 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.

Lihat juga