TwoWayまたはOneWayToSourceバインディングは読み取り専用プロパティでは機能しません


103

テキストボックスに表示する必要がある読み取り専用のプロパティがあり、実行時にこのエラーが発生します。IましセットIsEnabled="False"IsReadOnly="True"-運。他の検索では、readonlyで修正できるはずですが、私には修正できません。私はダミーのセッターを追加することで醜い回避策を持っています...


5
双方向バインディングが必要な場合は、プロパティセッターをパブリックにする必要があります。stackoverflow.com/questions/8773150/…を
パニック大佐

1
そして、盲目的に明白な部門から、セッターも存在しなければなりません。つまり、取得のみのプロパティでも同じ問題が発生します。
正午と2015年

回答:


172

コードなしで推測するのは難しいですが、BindingModeをOneWayに設定できるはずです。

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

またはコードから:

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

29
はい、「Mode = OneWay」==読み取り専用。"Mode = OneWayToSource" ==書き込みのみ
ブライアンアンダーソン、

1
してください.NET 4.0に「バグ」はOneWayToSourceも取得していることがありますのでご注意:stackoverflow.com/questions/14967667/...
Luuk

また、設定での双方向バインディングについては、stackoverflow.com
Tony
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.