Saya punya kotak kombo dengan sumber item yang dilampirkan menggunakan penjilidan sederhana. Apakah ada cara untuk menyegarkan penjilidan ini setelah kotak kombo dimuat?
c#
wpf
data-binding
Techee
sumber
sumber
Jawaban:
Anda dapat menggunakan ekspresi binding:
Tetapi seperti yang dicatat oleh Blindmeis, Anda juga dapat mengaktifkan pemberitahuan perubahan, lebih lanjut jika koleksi Anda diterapkan
INotifyCollectionChanged
(misalnya diterapkan diObservableCollection<T>
) maka akan disinkronkan sehingga Anda tidak perlu melakukan semua ini.sumber
jika Anda menggunakan mvvm dan itemssource Anda terletak di vm Anda. cukup panggil INotifyPropertyChanged untuk properti collection Anda ketika Anda ingin menyegarkan.
sumber
INotifyPropertyChanged
, tetapi Anda harus menjaga port tetap privat untuk pembungkus itu dan karenanya perlu menulis properti dan metode untuk semua yang ada di port yang Anda gunakan di tempat lain dalam proyek untuk memastikan bahwa properti yang ingin Anda beri tahu selalu melalui pembungkusnameof(YourCollectionProperty)
bertentangan dengan string literal. Ini mencegah bug melakukan refactoring dan lebih eksplisit apa yang sebenarnya dimaksudkan. Ini tentu saja di mana Anda tidak dapat menggunakanCallerMemberName
atribut yang bahkan lebih bagusUntuk menambahkan 2 sen saya, jika Anda ingin memperbarui sumber data Anda dengan nilai baru Kontrol Anda, Anda perlu memanggil
UpdateSource()
alih-alihUpdateTarget()
:sumber
Versi ramah MultiBinding ...
sumber
Coba gunakan
BindingExpression.UpdateTarget()
sumber
Saya mengambil data dari backend dan memperbarui layar hanya dengan satu baris kode. Berhasil. Tidak yakin, mengapa kita perlu mengimplementasikan Interface. (windows 10, UWP)
sumber