Visual Studio更新后为何提示‘FrameworkCompatibilityPreferences类已密封’?
问题原因
这事儿核心是Visual Studio 17.14.2配套的.NET框架/SDK版本做了兼容性调整:
FrameworkCompatibilityPreferences类被标记为密封(sealed),无法再修改它的成员属性KeepTextBoxDisplaySynchronizedWithTextProperty这个静态属性被设置为只读,不再允许运行时赋值修改
而在17.13.6版本对应的.NET环境中,这个类还未被密封,该属性也保持可写状态,所以你的代码能正常运行。
替代解决方案
如果需要实现原代码的效果(取消TextBox显示与Text属性的同步),可以试试这两种方式:
- 自定义继承自TextBox的控件,重写相关显示逻辑,手动控制文本显示与属性的同步关系
- 利用TextBox的
TextChanged事件,在事件处理中手动调整显示内容,绕过默认的同步机制
内容的提问来源于stack exchange,提问作者Wendy Wang
相关产品推荐
相关产品推荐

