Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.
Gambaran umum ini memperkenalkan pola kontrol Microsoft UI Automation. Pola kontrol menyediakan cara untuk mengategorikan dan mengekspos fungsionalitas kontrol yang independen dari jenis kontrol atau tampilan kontrol.
Automasi UI menggunakan pola kontrol untuk mewakili perilaku kontrol umum. Misalnya, Anda menggunakan pola Kontrol pemanggilan untuk kontrol yang dapat dipanggil (seperti tombol) dan pola kontrol Gulir untuk kontrol yang memiliki bilah gulir (seperti kotak daftar, tampilan daftar, atau kotak kombo). Karena setiap pola kontrol mewakili fungsionalitas terpisah, pola tersebut dapat digabungkan untuk menggambarkan serangkaian fungsionalitas lengkap yang didukung oleh kontrol tertentu.
Nota
Kontrol agregat—dibangun dengan kontrol anak yang menyediakan antarmuka pengguna (UI) untuk fungsionalitas yang diungkapkan oleh induk—harus menerapkan semua pola kontrol yang biasa terkait dengan kontrol anak masing-masing. Pada gilirannya, pola kontrol yang sama tidak wajib diimplementasikan oleh kontrol anak.
Komponen Pola Kontrol Automasi UI
Pola kontrol mendukung metode, properti, peristiwa, dan hubungan yang diperlukan untuk menentukan fungsionalitas diskrit yang tersedia dalam kontrol.
Hubungan antara elemen Automation UI dan induknya, anak-anak, dan saudara kandungnya menjelaskan struktur elemen dalam pohon Automation UI.
Metode ini memungkinkan klien Automation UI untuk memanipulasi kontrol.
Properti dan peristiwa menyediakan informasi tentang fungsionalitas pola kontrol serta informasi tentang status kontrol.
Pola kontrol terkait dengan UI karena antarmuka terkait dengan objek Model Objek Komponen (COM). Di COM, Anda dapat mengkueri objek untuk menanyakan antarmuka apa yang didukungnya lalu menggunakan antarmuka tersebut untuk mengakses fungsionalitas. Dalam Automasi UI, klien Automation UI dapat meminta kontrol pola kontrol mana yang didukungnya dan kemudian berinteraksi dengan kontrol melalui properti, metode, peristiwa, dan struktur yang diekspos oleh pola kontrol yang didukung. Misalnya, untuk kotak edit multibaris, penyedia Automation UI mengimplementasikan IScrollProvider. Ketika klien tahu bahwa AutomationElement mendukung pola kontrol ScrollPattern, klien dapat menggunakan properti, metode, dan peristiwa yang disediakan oleh pola kontrol tersebut untuk memanipulasi kontrol, atau mengakses informasi tentang kontrol.
Penyedia dan Klien Otomatisasi Antarmuka Pengguna
Penyedia Automation UI menerapkan pola kontrol untuk mengekspos perilaku yang sesuai untuk bagian fungsionalitas tertentu yang didukung oleh kontrol.
Klien Automation UI mengakses metode dan properti kelas pola kontrol Automation UI dan menggunakannya untuk mendapatkan informasi tentang UI, atau untuk memanipulasi UI. Kelas pola kontrol ini ditemukan di System.Windows.Automation namespace (misalnya, InvokePattern dan SelectionPattern).
Klien menggunakan metode AutomationElement (seperti AutomationElement.GetCurrentPropertyValue atau AutomationElement.GetCachedPropertyValue) atau pengakses runtime bahasa umum (CLR) untuk mengakses properti UI Automation pada pola. Setiap kelas pola kontrol memiliki anggota bidang (misalnya, InvokePattern.Pattern atau SelectionPattern.Pattern) yang mengidentifikasi pola kontrol tersebut dan dapat diteruskan sebagai parameter ke GetCachedPattern atau GetCurrentPattern untuk mengambil pola tersebut untuk AutomationElement.
Pola Kontrol Dinamis
Beberapa kontrol tidak selalu mendukung serangkaian pola kontrol yang sama. Pola kontrol dianggap didukung ketika tersedia untuk klien Automation UI. Misalnya, kotak edit multibaris memungkinkan pengguliran vertikal hanya ketika berisi lebih banyak baris teks daripada yang dapat ditampilkan di area yang dapat dilihat. Pengguliran dinonaktifkan ketika cukup teks dihapus sehingga pengguliran tidak lagi diperlukan. Untuk contoh ini, pola kontrol ScrollPattern didukung secara dinamis tergantung pada status kontrol saat ini (berapa banyak teks dalam kotak edit).
Kelas dan Antarmuka Pola Kendali
Tabel berikut ini menjelaskan pola kontrol Automation UI. Tabel ini juga mencantumkan kelas yang digunakan oleh klien Automation UI untuk mengakses pola kontrol, serta antarmuka yang digunakan oleh penyedia Automation UI untuk mengimplementasikannya.
| Kelas Pola Kontrol | Antarmuka Penyedia | Deskripsi |
|---|---|---|
| DockPattern | IDockProvider | Digunakan untuk kontrol yang dapat ditampung dalam kontainer docking. Misalnya, toolbar atau palet alat. |
| ExpandCollapsePattern | IExpandCollapseProvider | Digunakan untuk kontrol yang dapat diperluas atau diciutkan. Misalnya, item menu dalam aplikasi seperti menu File . |
| GridPattern | IGridProvider | Digunakan untuk kontrol yang mendukung fungsionalitas kisi seperti mengubah ukuran dan bergerak menuju sel yang ditentukan. Misalnya, tampilan ikon besar di Windows Explorer atau tabel sederhana tanpa header di Microsoft Word. |
| GridItemPattern | IGridItemProvider | Diperuntukkan untuk kontrol yang memiliki sel dalam tabel. Sel-sel individu seharusnya mendukung pola GridItem. Misalnya, setiap sel dalam tampilan detail Microsoft Windows Explorer. |
| InvokePattern | IInvokeProvider | Digunakan untuk kontrol yang dapat dipanggil, seperti tombol. |
| MultipleViewPattern | IMultipleViewProvider | Digunakan untuk kontrol yang dapat beralih di antara beberapa representasi dari kumpulan informasi, data, atau elemen yang sama. Misalnya, kontrol tampilan daftar tempat data tersedia dalam gambar mini, petak peta, ikon, daftar, atau tampilan detail. |
| RangeValuePattern | IRangeValueProvider | Digunakan untuk kontrol yang memiliki rentang nilai yang dapat diterapkan ke kontrol. Misalnya, kontrol spinner yang berisi tahun mungkin memiliki kisaran 1900 hingga 2010, sementara kontrol spinner lain yang menyajikan bulan akan memiliki kisaran 1 hingga 12. |
| ScrollPattern | IScrollProvider | Digunakan untuk kontrol yang dapat menggulir. Misalnya, kontrol yang memiliki bilah gulir yang aktif ketika ada lebih banyak informasi daripada yang dapat ditampilkan di area kontrol yang dapat dilihat. |
| ScrollItemPattern | IScrollItemProvider | Digunakan untuk kontrol yang memiliki item individual dalam daftar yang dapat digulir. Misalnya, kontrol daftar yang memiliki item-item terpisah dalam daftar yang digulir, seperti kotak kombo. |
| SelectionPattern | ISelectionProvider | Digunakan untuk kontrol kontainer pilihan. Misalnya, kotak daftar dan kotak kombo. |
| SelectionItemPattern | ISelectionItemProvider | Digunakan untuk item individual dalam kontrol kontainer pilihan, seperti kotak daftar dan kotak kombo. |
| TablePattern | ITableProvider | Digunakan untuk kontrol yang memiliki kisi serta informasi penanda. Misalnya, lembar kerja Microsoft Excel. |
| TableItemPattern | ITableItemProvider | Digunakan untuk item dalam tabel. |
| TextPattern | ITextProvider | Digunakan untuk mengedit kontrol dan dokumen yang mengekspos informasi tekstual. |
| TogglePattern | IToggleProvider | Digunakan untuk kontrol yang statusnya dapat ditukar. Misalnya, kotak centang dan item menu yang dapat dicentang. |
| TransformPattern | ITransformProvider | Digunakan untuk kontrol yang dapat diubah ukurannya, dipindahkan, dan diputar. Penggunaan umum untuk pola kontrol Transformasi ada di perancang, formulir, editor grafis, dan aplikasi gambar. |
| ValuePattern | IValueProvider | Memungkinkan klien untuk mendapatkan atau menetapkan nilai pada kontrol yang tidak mendukung rentang nilai. Misalnya, pemilih tanggal dan waktu. |
| WindowPattern | IWindowProvider | Mengekspos informasi khusus untuk windows, konsep mendasar untuk sistem operasi Microsoft Windows. Contoh kontrol yang merupakan jendela adalah jendela aplikasi tingkat atas (Microsoft Word, Microsoft Windows Explorer, dan sebagainya), jendela anak antarmuka beberapa dokumen (MDI), dan dialog. |