TwoWay或OneWayToSource绑定不适用于只读属性


103

我有一个只读属性,需要在文本框中显示,并在运行时出现此错误。我已经定好了IsEnabled="False"IsReadOnly="True"-没运气。其他搜索说只读应该解决它,但对我来说不行。通过添加虚拟设置器,我有一个丑陋的解决方法...


5
如果确实要双向绑定,则属性设置器必须是公共的。见stackoverflow.com/questions/8773150/...
上校恐慌

1
从显而易见的部门来看,二传手也必须存在。即,仅获得财产的财产将表现出同样的问题。
2015年

Answers:


172

没有代码很难猜测,但是您应该能够将BindingMode设置为OneWay。

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

或通过代码:

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

29
是的,“ Mode = OneWay” ==只读;“ Mode = OneWayToSource” ==只写
Bryan Anderson,

1
请注意,在.NET 4.0中有一个“错误”是OneWayToSource也做一个GET:stackoverflow.com/questions/14967667/...
Luuk

另外,有关设置上的双向绑定,请参见stackoverflow.com/a/845033/194717
Tony,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.