我知道依赖属性在WPF中起着主要作用。但是我没有得到绑定中限制的原因,目标属性必须是依赖属性。为什么它不能成为任何财产?目标属性必须是依赖属性 - 为什么?
4
A
回答
0
如果”重新感兴趣的话,你可以打开Reflector并查看一些与依赖项属性和框架中绑定系统相关的代码。有很多棘手的问题正在进行,以便对属性路径进行强健的高性能解析并将更改传播到依赖项属性。拥有标准的基础架构还允许管理更复杂的用例,例如更新来自多个源的依赖属性并解决优先级问题。例如,当动画的默认设置是由样式设置的属性时,会频繁出现。
依赖属性的另一个好处是它们在内部封装了很多行为(如通知,验证和强制),这意味着如果您看到依赖属性,那么您肯定会支持某些行为。这与INotifyPropertyChanged相反,类实现者可能或可能不支持所公布的接口。这意味着对于班级开发人员来说工作会更少
0
在DependencyProperty中的谷歌简单搜索产生一些结果,你可能会发现相关。例如:http://blog.hackedbrain.com/articles/UnderstandingDependencyObjectAndDependencyProperty.aspx
而我想其中一个原因是上下文。绑定内置于WPF的基础结构中,但C#类属性不属于此类。为了让WPF基础结构找到可绑定属性,您必须在代码中声明它们。此外,如果您声明属性,则会为WPF基础架构提供重要的元数据。
虽然我不同意,这将是更容易,如果这是可能的绑定到正规的属性,但是这是certanly的不小的细节打扰您宝贵的大脑的情况下...
相关问题
- 1. 为什么依赖属性必须是静态
- 2. 为什么依赖属性?
- 3. 什么是WPF中的依赖属性
- 4. 什么是“TemplatedParent模板属性”依赖项属性优先
- 5. 依赖属性
- 6. WPF:CLR属性依赖属性
- 7. 注册属性作为依赖属性
- 8. 依赖属性
- 9. ListView.View是依赖属性
- 10. 依赖属性空
- 11. 必须不同的两个UserControl依赖项属性
- 12. 属性更改依赖属性
- 13. 依赖属性WPF
- 14. 必须设置WPF UserControl的依赖项属性的警报?
- 15. KindError:属性r必须是SecondModel的实例,为什么?
- 16. 什么是依赖属性?它有什么用途?
- 17. 为什么依赖属性是“静态的”?
- 18. 绑定依赖属性到另一个依赖属性
- 19. 依赖于其他属性的依赖属性
- 20. Silverlight中的依赖属性
- 21. 标准属性的作品,但依赖属性在WPF
- 22. 依赖属性依赖于另一个
- 23. 是否必须使用flags属性?
- 24. 不依赖于UserControl的依赖属性
- 25. 依赖属性机制
- 26. WPF依赖属性错误
- 27. @Target属性值必须是类文字
- 28. 隐藏依赖属性
- 29. WPF - 依赖属性错误
- 30. CollectionPropertiesShouldBeReadOnly和依赖属性
其实我google了很多,但没有发现任何令人信服的东西。问题是我们可以使用OneWayToSource并使用像目标一样的普通属性行为。所以看起来像只有普通的属性绑定是不允许的。规则应该至少是目标或源应该是依赖属性。如果是这种情况,那么“目标财产应该是财产”的说法并不能很好地保持。 – thewpfguy 2010-08-01 04:53:05