2009-02-26 5 views
75

Ben bir salt okunur bir özellik görüntüledim, bir metin kutusunda görüntülemek ve bu hatayı çalışma zamanında almak gerekir. Hiç şansım yok IsEnabled="False", IsReadOnly="True". Diğer aramalar, okuyucunun düzeltmesi gerektiğini söylüyor, ancak benim için değil. Kukla ayarlayıcı ekleyerek çirkin bir geçici çözümüm var ...Bir TwoWay veya OneWayToSource bağlama salt okunur özelliği üzerinde çalışamaz

+5

, özellik kurucu genel olması gerekir. Bkz. Http://stackoverflow.com/questions/8773150/invalidoperationexception-a-twoway-or-onewaytosource-binding-cannot-work-on-th –

+1

Ve açık bir şekilde göze çarpan bölümün bölümünden, düzenleyici de * mevcut olmalıdır *; yani sadece bir getiri ile bir mülkiyet aynı sorunu sergileyecektir. – noonand

cevap

126

Kod olmadan tahmin etmek zor, ancak BindingMode'u OneWay'e ayarlayabilmeniz gerekir.

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

veya koddan

: İki yönlü bağlama istiyoruz yoksa

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

Yep, "Mode = OneWay" == Salt Okunur; "Mode = OneWayToSource" == Sadece yaz –

+1

Lütfen unutmayın. NET 4.0'da OneWayToSource da bir "hata" var: http://stackoverflow.com/questions/14967667/wpf-net-4-onewaytosource-binding -to-sadece-yazma-özellik-bazı-makine üzerinde çalışır- – Luuk

+0

Ayrıca, TwoWay Bağlama Ayarları için bkz http://stackoverflow.com/a/845033/194717 – Tony