Bagikan melalui


Gambaran Umum Pola Kontrol 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.

Gambaran umum ini memperkenalkan pola kontrol Microsoft UI Automation. Pola kontrol menyediakan cara untuk mengategorikan dan mengekspos fungsionalitas kontrol secara independen dari jenis kontrol atau tampilan kontrol.

UI Automation menggunakan pola kontrol untuk mewakili perilaku kontrol umum. Misalnya, Anda menggunakan pola kontrol Panggil 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 yang terpisah, pola tersebut dapat digabungkan untuk menggambarkan rangkaian lengkap fungsionalitas yang didukung oleh kontrol tertentu.

Catatan

Kontrol agregat—dibuat dengan kontrol turunan yang menyediakan antarmuka pengguna (UI) untuk fungsionalitas yang diekspos oleh induknya—harus menerapkan semua pola kontrol yang biasanya terkait dengan setiap kontrol turunan. Pada gilirannya, pola kontrol yang sama tidak perlu diterapkan oleh kontrol turunan.

Komponen Pola Kontrol UI Automation

Pola kontrol mendukung metode, properti, peristiwa, dan hubungan yang diperlukan untuk menentukan bagian fungsionalitas yang tersedia dalam kontrol.

  • Hubungan antara elemen UI Automation dan induknya, turunannya, dan saudara kandungnya menjelaskan struktur elemen di dalam pohon UI Automation.

  • Metode memungkinkan klien UI Automation memanipulasi kontrol.

  • Properti dan peristiwa memberikan informasi tentang fungsionalitas pola kontrol serta informasi tentang status kontrol.

Pola kontrol berhubungan dengan UI karena antarmuka berhubungan dengan objek Component Object Model (COM). Di COM, Anda dapat meminta objek untuk menanyakan antarmuka apa yang didukungnya dan kemudian menggunakan antarmuka tersebut untuk mengakses fungsionalitas. Di UI Automation, klien UI Automation 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 multi baris, penyedia UI Automation menerapkan IScrollProvider. Saat klien mengetahui bahwa AutomationElement mendukung pola kontrol ScrollPattern, klien dapat menggunakan properti, metode, dan peristiwa yang diekspos oleh pola kontrol tersebut untuk memanipulasi kontrol, atau mengakses informasi tentang kontrol.

Penyedia dan Klien UI Automation

Penyedia UI Automation menerapkan pola kontrol untuk mengekspos perilaku yang sesuai untuk bagian tertentu dari fungsionalitas yang didukung oleh kontrol.

Klien UI Automation mengakses metode dan properti kelas pola kontrol UI Automation 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 suatu 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 rangkaian pola kontrol yang sama. Pola kontrol dianggap didukung jika tersedia untuk klien UI Automation. Misalnya, kotak edit multi baris memungkinkan pengguliran vertikal hanya jika berisi lebih banyak baris teks daripada yang dapat ditampilkan di area yang dapat dilihat. Pengguliran dinonaktifkan jika cukup banyak teks yang dihapus sehingga pengguliran tidak lagi diperlukan. Untuk contoh ini, pola kontrol ScrollPattern didukung secara dinamis bergantung pada status kontrol saat ini (berapa banyak teks dalam kotak edit).

Kelas dan Antarmuka Pola Kontrol

Tabel berikut menjelaskan pola kontrol UI Automation. Tabel juga mencantumkan kelas yang digunakan oleh klien UI Automation untuk mengakses pola kontrol, serta antarmuka yang digunakan oleh penyedia UI Automation untuk mengimplementasikannya.

Kelas Pola Kontrol Antarmuka Penyedia Deskripsi
DockPattern IDockProvider Digunakan untuk kontrol yang dapat ditambatkan ke dalam kontainer dok. 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 ukuran dan pemindahan ke sel tertentu. Misalnya, tampilan ikon besar di Windows Explorer atau tabel sederhana tanpa header di Microsoft Word.
GridItemPattern IGridItemProvider Digunakan untuk kontrol yang memiliki sel di dalam kisi. Sel individu harus 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 turunan yang sama. Misalnya, kontrol tampilan daftar di mana data tersedia dalam tampilan gambar mini, ubin, ikon, daftar, atau detail.
RangeValuePattern IRangeValueProvider Digunakan untuk kontrol yang memiliki rentang nilai yang dapat diterapkan ke kontrol. Misalnya, kontrol pemintal yang berisi tahun mungkin memiliki kisaran 1900 hingga 2010, sementara kontrol pemintal 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 saat ada lebih banyak informasi daripada yang bisa ditampilkan di area kontrol yang dapat dilihat.
ScrollItemPattern IScrollItemProvider Digunakan untuk kontrol yang memiliki item individual dalam daftar yang bergulir. Misalnya, kontrol daftar yang memiliki item individual dalam daftar gulir, seperti kontrol kotak kombo.
SelectionPattern ISelectionProvider Digunakan untuk kontrol kontainer pemilihan. Misalnya, kotak daftar dan kotak kombo.
SelectionItemPattern ISelectionItemProvider Digunakan untuk masing-masing item dalam kontrol kontainer pilihan, seperti kotak daftar dan kotak kombo.
TablePattern ITableProvider Digunakan untuk kontrol yang memiliki kisi serta informasi header. 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 di mana status dapat dialihkan. 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 Transform adalah dalam desainer, formulir, editor grafis, dan aplikasi menggambar.
ValuePattern IValueProvider Memungkinkan klien untuk mendapatkan atau menetapkan nilai pada kontrol yang tidak mendukung rentang nilai. Misalnya, pemilih waktu tanggal.
WindowPattern IWindowProvider Mengekspos informasi khusus untuk windows, sebuah konsep dasar untuk sistem operasi Microsoft Windows. Contoh kontrol yang bersifat windows adalah top-level application windows (Microsoft Word, Microsoft Windows Explorer, dan sebagainya), turunan windows multiple-document interface (MDI), dan dialog.

Lihat juga