Bagikan melalui


Menerapkan Pola Kontrol PerluasLipat Otomatisasi Antarmuka Pengguna

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 IExpandCollapseProvider, termasuk informasi tentang properti, metode, dan peristiwa. Tautan ke referensi tambahan tercantum di akhir gambaran umum.

Pola ExpandCollapsePattern kontrol digunakan untuk mendukung kontrol yang secara visual diperbesar untuk menampilkan lebih banyak konten dan dikurangi untuk menyembunyikan konten. Untuk contoh kontrol yang menerapkan pola kontrol ini, lihat Pemetaan Pola Kontrol untuk Klien Automasi UI.

Pedoman dan Konvensi Implementasi

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

  • Kontrol agregat—dibangun dengan objek turunan yang menyediakan fungsionalitas perluas/ciutkan UI—harus mendukung ExpandCollapsePattern pola kontrol sedangkan elemen turunannya tidak. Misalnya, kontrol kotak kombo dibangun dengan kombinasi kotak daftar, tombol, dan kontrol edit, tetapi hanya kotak kombo induk yang harus mendukung ExpandCollapsePattern.

    Nota

    Pengecualian adalah kontrol menu, yang merupakan agregat objek MenuItem individual. Objek MenuItem dapat mendukung ExpandCollapsePattern pola kontrol, tetapi kontrol Menu induk tidak dapat. Pengecualian serupa berlaku untuk kontrol Pohon dan Elemen Pohon.

  • Ketika ExpandCollapseState dari kontrol diatur ke LeafNode, fungsionalitas ExpandCollapsePattern tidak aktif saat ini untuk kontrol tersebut, dan satu-satunya informasi yang dapat diperoleh menggunakan pola kontrol ini adalah ExpandCollapseState. Jika ada objek turunan yang ditambahkan, perubahan pada ExpandCollapseState terjadi dan fungsionalitas ExpandCollapsePattern diaktifkan.

  • ExpandCollapseState mengacu pada visibilitas objek anak langsung saja; ini tidak mengacu pada visibilitas semua objek keturunan.

  • Perluas dan Ciutkan fungsionalitas bersifat khusus kontrol. Berikut ini adalah contoh perilaku ini.

    • Menu Office Pribadi dapat berupa MenuItem berstatus tiga (Expanded, Collapsed dan PartiallyExpanded) di mana kontrol menentukan status yang akan diadopsi ketika Expand atau Collapse dipanggil.

    • Memanggil Expand pada TreeItem dapat menampilkan semua turunan atau hanya anak langsung.

    • Jika memanggil Expand atau Collapse pada kontrol mempertahankan status turunannya, peristiwa perubahan visibilitas harus dikirim, bukan peristiwa perubahan status. Jika kontrol induk tidak mempertahankan status turunannya saat diciutkan, kontrol dapat menghancurkan semua turunan yang tidak lagi terlihat dan menghasilkan peristiwa penghancuran; atau mungkin mengubah ExpandCollapseState untuk setiap turunan dan menghasilkan peristiwa perubahan visibilitas.

  • Untuk menjamin navigasi, diinginkan agar objek berada di pohon Automation UI (dengan status visibilitas yang sesuai) terlepas dari induknya ExpandCollapseState. Jika turunan dihasilkan sesuai permintaan, mereka hanya dapat muncul di pohon Automation UI setelah ditampilkan untuk pertama kalinya atau hanya saat terlihat.

Anggota yang Diperlukan untuk IExpandCollapseProvider

Properti dan metode berikut diperlukan untuk menerapkan IExpandCollapseProvider.

Anggota yang diperlukan Jenis anggota Catatan
ExpandCollapseState Harta benda Tidak ada
Expand Metode Tidak ada
Collapse Metode Tidak ada
AutomationPropertyChangedEventHandler Peristiwa Kontrol ini tidak memiliki peristiwa terkait; gunakan delegasi generik ini.

Pengecualian

Penyedia harus memberikan pengecualian berikut.

Jenis pengecualian Keadaan
InvalidOperationException Baik Expand atau Collapse dipanggil ketika ExpandCollapseState = LeafNode.

Lihat juga