Pengikatan TwoWay atau OneWayToSource tidak dapat berfungsi pada properti hanya-baca


103

Saya memiliki properti hanya baca yang perlu saya tampilkan di kotak teks, dan mendapatkan kesalahan ini saat runtime. Saya sudah menetapkan IsEnabled="False", IsReadOnly="True"- tidak berhasil. Pencarian lain mengatakan readonly harus memperbaikinya, tapi tidak untuk saya. Saya punya solusi yang buruk dengan menambahkan setter tiruan ...


5
Jika Anda menginginkan pengikatan dua arah, penyetel properti harus bersifat publik. Lihat stackoverflow.com/questions/8773150/…
Kolonel Panic

1
Dan dari departemen yang sangat jelas terlihat, penyetel juga harus ada ; yaitu, properti dengan hanya mendapatkan akan menunjukkan masalah yang sama.
tengah hari dan

Jawaban:


172

Sulit untuk menebak tanpa kode, tetapi Anda harus dapat menyetel BindingMode ke OneWay.

<TextBox Text="{Binding Path=MyProperty, Mode=OneWay}" />

atau dari kode:

Binding binding = new Binding();
binding.Mode = BindingMode.OneWay;

29
Ya, "Mode = OneWay" == Hanya Baca; "Mode = OneWayToSource" == Hanya Menulis
Bryan Anderson

1
Harap perhatikan bahwa di .NET 4.0 ada "bug" yang juga dilakukan OneWayToSource: stackoverflow.com/questions/14967667/…
Luuk

Juga, untuk Pengikatan TwoWay pada Pengaturan, lihat stackoverflow.com/a/845033/194717
Tony
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.