我正在谷歌上搜索为什么不允许本地或全局变量作为WPF数据绑定的来源;只有包装属性才能绑定。
所以问题是属性是变量的包装器,那么为什么允许这些属性并且不允许变量。
我需要知道引擎盖系统。
答案 0 :(得分:3)
用于绑定的机制(PropertyDescriptor,DependencyProperties等)仅使用属性,这就是您无法绑定到字段的原因。属性可以提供验证,更改通知等,这是优选属性的另一个原因。字段不提供这些。
另外,使用公共字段通常是不好的做法,那么他们为什么要打扰实现对字段的绑定呢?它只会促进那些不良做法。
答案 1 :(得分:1)
嗯,这不完全正确。 可以使用字段进行绑定,但首先必须将其声明为资源,然后在绑定声明中通过资源键访问它。
当您要绑定到代码绑定到属性时,也可以同时注释OnPorpertyChanged
通知。