我正在挠头来理解依赖属性。
我的查询如下;
由于依赖属性被声明为静态,静态意味着类级别的属性,只会创建单个实例并且所有对象将共享同一个对象。
我有一个用户控件,并且我已将依赖属性 IsHighlighted 添加到该用户控件。这个依赖属性绑定到一些视图模型属性,我已经注册了依赖属性值更改的回调。因此,一旦有人更改视图模型属性,就会调用依赖属性回调,如果 value 为 true,它会启动动画,因为它是布尔值。
现在,我创建了 5 个对象视图,当我将 object1 的 viewmodel 属性设置为 true 时,动画会针对最后一个节点 object5 而不是针对 object1 运行。视图模型的属性是非静态的。
我很困惑将为每个对象创建依赖属性,或者对于所有对象来说它都是单一的。
如果所有对象都是单一的,那么跟踪我需要在其上运行模拟的用户控件属性的更改的方法是什么,因为对于用户控件中的普通 CLR 属性,不会调用更改处理程序。
摘要:依赖属性是在类级别或对象级别创建的。如果它是在类级别创建的,因为它被声明为静态,那么创建对象级别(非静态)的属性的方法是什么,但对于正常的 CLR 属性,它不会有任何值更改回调。那么如何做到这一点。