Menggunakan Ruang Lingkup Pengeditan

Sampel UsingEditingScope menunjukkan cara mengumpulkan serangkaian perubahan sehingga dapat dibatalkan dalam satu unit atomik. Secara default, tindakan yang diambil oleh penulis perancang aktivitas secara otomatis diintegrasikan ke dalam sistem Batalkan/Ulangi.

Menunjukkan

Mengedit ruang lingkup dan Membatalkan serta Mengulangi.

Diskusi

Contoh ini menunjukkan cara mengelompokkan serangkaian perubahan pada ModelItem pohon dalam satu unit kerja. Perhatikan bahwa saat mengikat nilai langsung ke ModelItem dari perancang WPF, perubahan diterapkan secara otomatis. Sampel ini menunjukkan apa yang harus dilakukan ketika beberapa perubahan yang akan di-batch dilakukan melalui kode imperatif, bukan satu perubahan.

Dalam sampel ini, tiga aktivitas ditambahkan. Saat pengeditan dimulai, BeginEdit dipanggil pada instans ModelItem. Perubahan yang dilakukan pada ModelItem pohon dalam cakupan pengeditan ini dikelompokkan. Perintah BeginEdit mengembalikan EditingScope, yang dapat digunakan untuk mengontrol instans ini. Baik OnComplete atau OnRevert dapat dipanggil untuk menerapkan atau mengembalikan cakupan pengeditan.

Anda juga dapat menumpuk EditingScope objek, yang memungkinkan beberapa set perubahan dilacak sebagai bagian dari cakupan pengeditan yang lebih besar dan dapat dikontrol satu per satu. Skenario yang mungkin menggunakan fitur ini adalah ketika perubahan dari beberapa dialog harus disimpan atau dibatalkan secara terpisah, dengan semua perubahan diperlakukan sebagai operasi atomik yang satu kesatuan. Dalam sampel ini, cakupan pengeditan ditumpuk menggunakan ObservableCollection<T> jenis ModelEditingScope. ObservableCollection<T> digunakan sehingga kedalaman bersarang dapat diamati pada permukaan perancang.

Untuk menyiapkan, mengompilasi, dan menjalankan sampel

  1. Buat dan jalankan sampel, lalu gunakan tombol di sebelah kiri untuk mengubah alur kerja.

  2. Klik Buka Cakupan Pengeditan.

    1. Perintah ini memanggil BeginEdit yang membuat cakupan pengeditan dan mendorongnya ke tumpukan pengeditan.

    2. Kemudian, tiga aktivitas ditambahkan ke ModelItem yang dipilih. Perhatikan bahwa jika cakupan pengeditan belum dibuka dengan BeginEdit, tiga aktivitas baru akan muncul di kanvas desainer. Karena operasi ini masih tertunda dalam EditingScope, perancang belum mendapatkan pembaruan.

  3. Tekan Tutup Cakupan Pengeditan untuk menerapkan cakupan pengeditan. Tiga aktivitas muncul di perancang.