Ree*_*sey 11
我有没有理由(或者应该)不将依赖属性声明为非静态?
是.
WPF中的依赖项属性机制使用每种类型指定的存储机制,而不是每个实例.DP的设计依赖于静态定义,而不是每个实例.如果在实例上定义它们,它们将无法正常工作.
这部分是为了允许继承属性,但也允许您在对象上指定很多属性,而不需要为每个实例使用大量内存.
如果要创建具有双向可绑定属性的接口,通常需要为类使用INotifyPropertyChanged,并在用户界面元素上使用依赖项属性来处理绑定.INotifyPropertyChanged是适当的机制.如果主要投诉是字符串标识符,您可以使用表达式树来解决它们.