为什么不允许变量进行绑定

时间:2012-05-25 10:32:38

标签: c# wpf language-concepts

我正在谷歌上搜索为什么不允许本地或全局变量作为WPF数据绑定的来源;只有包装属性才能绑定。

所以问题是属性是变量的包装器,那么为什么允许这些属性并且不允许变量。

我需要知道引擎盖系统。

2 个答案:

答案 0 :(得分:3)

用于绑定的机制(PropertyDescriptorDependencyProperties等)仅使用属性,这就是您无法绑定到字段的原因。属性可以提供验证,更改通知等,这是优选属性的另一个原因。字段不提供这些。

另外,使用公共字段通常是不好的做法,那么他们为什么要打扰实现对字段的绑定呢?它只会促进那些不良做法。

答案 1 :(得分:1)

嗯,这不完全正确。 可以使用字段进行绑定,但首先必须将其声明为资源,然后在绑定声明中通过资源键访问它。

当您要绑定到代码绑定到属性时,也可以同时注释OnPorpertyChanged通知。