Bagikan melalui


Menerapkan Pola Pengendalian Kisi Otomasi UI

Nota

Dokumentasi ini ditujukan untuk pengembang .NET Framework yang ingin menggunakan kelas Automation UI terkelola yang ditentukan dalam namespace System.Windows.Automation. Untuk informasi terbaru tentang Automasi UI, lihat Windows Automation API: UI Automation.

Topik ini memperkenalkan panduan dan konvensi untuk menerapkan IGridProvider, termasuk informasi tentang properti, metode, dan peristiwa. Tautan ke referensi tambahan tercantum di akhir gambaran umum.

Pola GridPattern kontrol digunakan untuk mendukung kontrol yang bertindak sebagai kontainer untuk kumpulan elemen anak. Anak-anak elemen 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, lihat Pemetaan Pola Kontrol untuk Klien Automasi UI.

Pedoman dan Konvensi Implementasi

Saat menerapkan pola kontrol Grid, perhatikan panduan dan konvensi berikut:

  • Koordinat grid berbasis nol dengan sel kiri atas (atau sel kanan atas tergantung pada lokal) yang memiliki koordinat (0, 0).

  • Jika sel kosong, elemen Otomasi UI masih harus dikembalikan untuk mendukung properti ContainingGrid sel tersebut. Hal ini dimungkinkan ketika tata letak elemen turunan dalam kisi mirip dengan array yang tidak rata atau tidak beraturan (lihat contoh di bawah).

Tampilan Windows Explorer memperlihatkan tata letak yang tidak rata. Contoh Kontrol Kisi dengan Koordinat Kosong

  • Kisi dengan satu item tetap harus menerapkan IGridProvider jika secara logis dianggap sebagai kisi. Jumlah item anak dalam kisi tidak penting.

  • Baris dan kolom tersembunyi, tergantung pada implementasi penyedia, dapat dimuat di pohon Automation UI 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 pada kisi, seperti sel yang telah ditambahkan, dihapus, atau digabungkan.

  • Gunakan AutomationFocusChangedEventHandler untuk melacak traversal melalui item atau sel dalam grid.

Anggota yang Diperlukan untuk IGridProvider

Properti dan metode berikut diperlukan untuk menerapkan antarmuka IGridProvider.

Anggota yang diperlukan Tipe Catatan
RowCount Harta benda Tidak ada
ColumnCount Harta benda Tidak ada
GetItem Metode Tidak ada

Pola kontrol ini tidak memiliki peristiwa terkait.

Pengecualian

Penyedia harus memberikan pengecualian berikut.

Jenis pengecualian Keadaan
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