c# - 升级 .NET 版本后,TwoWay 或 OneWayToSource 绑定无法在只读属性上工作
问题描述
我有目标框架版本为4.5
. 现在我已经切换到 version 4.6.2
。
之后,我在多个地方收到以下错误。
A TwoWay or OneWayToSource binding cannot work on the read-only property
我正在使用Visual Studio 2017
.
将项目称为A
,它具有B, C, D as dependencies
. 虽然 B、C 和 D 已附加as DLL
,但我收到了错误消息。如果它们已连接as projects
,我不会收到错误消息。
注意:所有 B、C、D 都是 4.5 版本的项目,我不会将它们更改为 4.6.2 来运行这个项目。
任何人都可以告诉我如何在此处进一步进行以及接近方式是否有任何错误?
更新1:
相关问题与我的情况不同:
TwoWay 或 OneWayToSource 绑定无法在只读属性上工作
更新 2:
下面的问题类似。
TwoWay 或 OneWayToSource 绑定不能对只读属性起作用。
但答案中提供的链接似乎已损坏或重定向:
解决方案
我知道已经晚了一年,但如果有人遇到这个问题,那就是已知问题。框架升级后,我的部分 UI 开始抛出 InvalidOperationException。修复很简单,只需在绑定中添加显式 Mode=OneWay 即可。但是我仍然需要知道如果在很长一段时间内没有人更改代码中的任何内容,它为什么会开始。
在没有公共 setter 的情况下尝试将数据绑定到属性从来都不是受支持的方案。从 .NET Framework 4.5.1 开始,此方案将引发 InvalidOperationException。请注意,只有专门针对 .NET Framework 4.5.1 的应用才会引发此新异常。如果应用以 .NET Framework 4.5 为目标,则允许调用。如果应用程序不针对特定的 .NET Framework 版本,则绑定将被视为单向。
问题一直存在,只是在发生时才开始抛出异常。
推荐阅读
- memory - 为什么结构在创建时共享相同的地址,而在删除时与创建的地址不同
- powershell - 如何不显示选定的列?
- reactjs - 将两个json数组合并为一个json数组,其中数据将在react js中完全合并为一个Json
- excel - Excel 表之间的组合的 Power Query 是什么?
- javascript - 使用 jquery 验证器插件仅为 2 个十进制数字 + 点 + 逗号设置正则表达式
- css - 为什么转换属性在绝对位置上设置为“自动”的顶部/底部/左侧/右侧不起作用?
- android - Google Play 控制台 apk 太大
- javascript - 在移动设备上向左/向右滑动事件,例如“点击”
- c# - CosmosDB SQL Api 不持久化枚举值 0
- python - 撞墙后如何翻转图像