Pola Kontrol ExpandCollapse

Menjelaskan panduan dan konvensi untuk menerapkan IExpandCollapseProvider, termasuk informasi tentang properti, metode, dan peristiwa. Pola kontrol ExpandCollapse digunakan untuk mendukung kontrol yang secara visual diperluas untuk menampilkan lebih banyak konten dan diciutkan untuk menyembunyikan konten.

Untuk contoh kontrol yang mengimplementasikan pola kontrol ini, lihat Jenis Kontrol dan Pola Kontrol yang Didukung.

Topik ini berisi bagian berikut.

Panduan dan Konvensi Implementasi

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

  • Kontrol agregat, dibangun dengan objek turunan yang menyediakan fungsionalitas perluas/ciutkan UI, harus mendukung pola kontrol ExpandCollapse 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 pola kontrol ExpandCollapse .

    Catatan

    Pengecualian adalah kontrol menu, yang merupakan agregat objek item menu individual. Objek item menu dapat mendukung pola kontrol ExpandCollapse , tetapi kontrol menu induk tidak dapat. Pengecualian serupa berlaku untuk kontrol item pohon dan pohon.

     

  • Ketika IExpandCollapseProvider::ExpandCollapseState kontrol diatur ke ExpandCollapseState_LeafNode, fungsionalitas ExpandCollapse apa pun saat ini tidak aktif untuk kontrol dan satu-satunya informasi yang dapat diperoleh menggunakan pola kontrol ini adalah ExpandCollapseState. Jika ada objek turunan yang kemudian ditambahkan, fungsi expandCollapseState berubah dan ExpandCollapse diaktifkan.

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

  • Fungsionalitas IExpandCollapseProvider::Expand and Collapse bersifat khusus untuk kontrol. Berikut ini adalah contoh perilaku tersebut.

    • Menu Pribadi Office dapat berupa item menu tiga status ("Diperluas", "Diciutkan" dan "SebagianEks") di mana kontrol menentukan status yang akan diadopsi saat Perluas atau Ciutkan dipanggil.
    • Memanggil Perluas pada item pohon dapat menampilkan semua turunan atau hanya turunan langsung.
    • Jika memanggil Perluas atau Ciutkan pada kontrol mempertahankan status turunannya, peristiwa perubahan visibilitas harus dikirim, bukan peristiwa perubahan status. Jika kontrol induk tidak mempertahankan status keturunannya ketika runtuh, kontrol dapat menghancurkan semua keturunan yang tidak lagi terlihat dan memunculkan peristiwa yang hancur; atau dapat mengubah ExpandCollapseState untuk setiap turunan dan meningkatkan peristiwa perubahan visibilitas.
  • Untuk menjamin navigasi, diinginkan agar objek berada di pohon Microsoft UI Automation (dengan status visibilitas yang sesuai) terlepas dari induknya ExpandCollapseState. Jika turunan dibuat sesuai permintaan, turunan tersebut mungkin hanya muncul di pohon UI Automation setelah ditampilkan untuk pertama kali atau hanya saat turunan terlihat.

Anggota yang Diperlukan untuk IExpandCollapseProvider

Properti, metode, dan peristiwa berikut diperlukan untuk mengimplementasikan antarmuka IExpandCollapseProvider .

Anggota yang diperlukan Jenis anggota Catatan
ExpandCollapseState Properti Tidak ada
Perluas Metode Tidak ada
Ciutkan Metode Tidak ada
IUIAutomationPropertyChangedEventHandler Kejadian Kontrol ini tidak memiliki peristiwa terkait; gunakan penanganan aktivitas generik ini.

 

Jenis Kontrol dan Pola Kontrol yang Didukung

Gambaran Umum Pola Kontrol UI Automation

Gambaran Umum Pohon UI Automation