Bagikan melalui


Pola Kontrol Automasi UI untuk Klien

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 untuk klien Automation UI. Ini termasuk informasi tentang bagaimana klien Automation UI dapat menggunakan pola kontrol untuk mengakses informasi tentang antarmuka pengguna (UI).

Pola kontrol menyediakan cara untuk mengategorikan dan mengekspos fungsionalitas kontrol yang independen dari jenis kontrol atau tampilan kontrol. Klien UI Automation dapat memeriksa AutomationElement untuk menentukan pola kontrol mana yang didukung dan memastikan perilaku kontrol.

Untuk daftar lengkap pola kontrol, lihat Gambaran Umum Pola Kontrol Automasi UI.

Mendapatkan Pola Kontrol

Klien mengambil pola kontrol dari AutomationElement dengan memanggil AutomationElement.GetCachedPattern atau AutomationElement.GetCurrentPattern.

Klien dapat menggunakan GetSupportedPatterns metode atau properti individual IsPatternAvailable (misalnya, IsTextPatternAvailableProperty) untuk menentukan apakah pola atau grup pola didukung pada AutomationElement. Namun, lebih efisien untuk mencoba mendapatkan pola kontrol dan mengujinya untuk referensi null daripada memeriksa properti yang sesuai dan mengambil pola kontrol, karena ini menghasilkan lebih sedikit panggilan lintas proses.

Contoh berikut mengilustrasikan cara memperoleh pola kontrol TextPattern dari AutomationElement.

// Specify the control type we're looking for, in this case 'Document'
PropertyCondition cond = new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Document);

// target --> The root AutomationElement.
AutomationElement textProvider = target.FindFirst(TreeScope.Descendants, cond);

targetTextPattern = textProvider.GetCurrentPattern(TextPattern.Pattern) as TextPattern;

if (targetTextPattern == null)
{
    Console.WriteLine("Root element does not contain a descendant that supports TextPattern.");
    return;
}

Mengambil Properti dari Pola Kontrol

Klien dapat mengambil nilai properti pada pola kontrol dengan memanggil baik AutomationElement.GetCachedPropertyValue maupun AutomationElement.GetCurrentPropertyValue dan mengubah tipe objek yang dikembalikan menjadi tipe yang sesuai. Untuk informasi selengkapnya tentang properti Automation UI, lihat Properti Automasi UI untuk Klien.

Selain metode GetPropertyValue, nilai-nilai properti dapat diambil melalui akses ke common language runtime (CLR) untuk mengakses properti UI Automation pada pola.

Kontrol dengan Pola Variabel

Beberapa jenis kontrol mendukung pola yang berbeda tergantung pada statusnya atau cara kontrol digunakan. Contoh kontrol yang bisa memiliki pola variabel adalah tampilan daftar (gambar mini, petak peta, ikon, daftar, detail), Bagan Microsoft Excel (Pai, Garis, Batang, Nilai Sel dengan rumus), area dokumen Microsoft Word (Normal, Tata Letak Web, Kerangka, Tata Letak Cetak, Pratinjau Cetak), dan kulit Microsoft Windows Media Player.

Kontrol yang menerapkan jenis kontrol kustom dapat memiliki serangkaian pola kontrol yang diperlukan untuk mewakili fungsionalitasnya.

Lihat juga