3

将用 VS2012 针对 .NET 4.5 编写的项目升级到 VS2013 .NET 4.5.1 后,绑定到我的复选框会引发无效操作异常:TwoWay 或 OneWayToSource 绑定无法在只读属性上工作

<CheckBox IsHitTestVisible="False" Focusable="False" Content="Invert TXD" IsChecked="{Binding EepromDataModel.InvertTxd}"/>

添加正确的模式(OneWay)后,它运行良好。

默认绑定模式是改变了还是比以前更严格了?

不要误会我的意思。我之前应该添加那个绑定模式,但我只是想知道......

编辑

财产没有改变。它总是有一个私人二传手。我只做了升级,仅此而已。我刚刚用 VS2012 的代码再次检查了四次,它运行良好,没有抛出任何异常。

4

1 回答 1

1

您在 4.5 中引入的 .net 框架中发现了一个安全漏洞。私有 setter 不应该处理 TwoWay 绑定的数据绑定。在以下问题中,微软对此问题发表了评论:

在私有方法上连接错误双向数据绑定

私有方法上的双向绑定的安全更新

于 2014-02-10T15:59:40.930 回答