Rumah > pembangunan bahagian belakang > C++ > Kenapa tidak dapat mengesan perkara saya tidak dapat mengubah item berubah?

Kenapa tidak dapat mengesan perkara saya tidak dapat mengubah item berubah?

Barbara Streisand
Lepaskan: 2025-01-29 13:11:09
asal
967 orang telah melayarinya

Why Doesn't My ObservableCollection Detect Item Property Changes?

Penyelesaian Masalah Pemeriksaan Perubahan Harta Tidak Konsisten Pemerhatian

kelas

anda menggunakan CollectionViewModel yang dinamakan ObservableCollection<EntityViewModel>. Walaupun menggunakan ContentList dalam RaisePropertyChanged("IsRowChecked") anda untuk memberi isyarat perubahan dalam harta EntityViewModel, kemas kini ini tidak dapat dilihat secara konsisten. IsRowChecked

Berikut adalah penyelesaian untuk membuat koleksi yang benar -benar dapat dilihat yang dapat mengesan perubahan dalam sifat objek yang terkandungnya:

<code class="language-csharp">public sealed class TrulyObservableCollection<T> : ObservableCollection<T>
    where T : INotifyPropertyChanged
{
    // ... implementation details ...
}</code>
Salin selepas log masuk
Ini dipertingkatkan

memastikan semua item tambahan dilaksanakan ObservableCollection. Setelah menambah item, ia melanggan acara INotifyPropertyChanged item. Apabila harta dalam perubahan item, koleksi itu menimbulkan PropertyChanged dengan NotifyCollectionChangedEventArgs. Tindakan ini mencetuskan kemas kini di semua kawalan terikat, memastikan penyegaran UI yang konsisten. (Nota: Bahagian NotifyCollectionChangedAction.Replace akan mengandungi kod untuk mengendalikan langganan dan peningkatan peristiwa.) // ... implementation details ...

Atas ialah kandungan terperinci Kenapa tidak dapat mengesan perkara saya tidak dapat mengubah item berubah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan