Menerapkan Pola Kontrol Transformasi 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 ITransformProvider, termasuk informasi tentang properti, metode, dan peristiwa. Link ke referensi tambahan tercantum di akhir topik.
Pola kontrol TransformPattern digunakan untuk mendukung kontrol yang dapat dipindahkan, diubah ukurannya, atau diputar dalam ruang dua dimensi. Untuk contoh kontrol yang menerapkan pola kontrol ini, baca Pemetaan Pola Kontrol untuk Klien UI Automation.
Pedoman dan Konvensi Implementasi
Saat menerapkan pola kontrol Transformasi, perhatikan panduan dan konvensi berikut:
Dukungan untuk pola kontrol ini tidak terbatas pada objek di desktop. Pola kontrol ini juga harus didukung oleh turunan dari objek kontainer jika anak-anak dapat dipindahkan, diubah ukurannya, atau diputar secara bebas di dalam batas kontainer.
Objek tidak dapat dipindahkan, diubah ukurannya, atau diputar sedemikian rupa sehingga lokasi layar yang dihasilkan akan sepenuhnya berada di luar koordinat kontainernya dan oleh karena itu tidak dapat diakses oleh keyboard atau mouse (misalnya, ketika jendela tingkat atas dipindahkan dari layar atau objek anak dipindahkan ke luar batas viewport kontainer). Dalam kasus ini, objek ditempatkan sedekat mungkin dengan koordinat layar yang diminta dengan koordinat atas atau kiri diganti agar berada dalam batas kontainer.
Untuk sistem multi-monitor, jika objek dipindahkan, diubah ukurannya, atau diputar sepenuhnya di luar koordinat layar desktop gabungan, objek tersebut ditempatkan pada monitor utama sedekat mungkin dengan koordinat yang diminta.
Semua parameter dan nilai properti adalah mutlak dan tidak bergantung pada lokal.
Anggota yang Diperlukan untuk ITransformProvider
Properti dan metode berikut perlu menerapkan ITransformProvider.
Anggota yang diperlukan | Jenis anggota | Catatan |
---|---|---|
CanMove | Properti | Tidak |
CanResize | Properti | Tidak |
CanRotate | Properti | Tidak |
Move | Metode | Tidak |
Resize | Metode | Tidak |
Rotate | Metode | Tidak |
Pola kontrol ini tidak memiliki peristiwa terkait.
Pengecualian
Penyedia harus menampilkan pengecualian berikut.
Tipe Pengecualian | Kondisi |
---|---|
InvalidOperationException | Move - Jika CanMoveProperty salah. |
InvalidOperationException | Resize - Jika CanResizeProperty salah. |
InvalidOperationException | Rotate - Jika CanRotateProperty salah. |