【问题标题】:Who has the best metaphor for WPF dependency properties?谁对 WPF 依赖属性有最好的比喻?
【发布时间】:2009-01-26 09:05:02
【问题描述】:
我正在阅读 C# 2008 中的 WPF 食谱:
http://www.apress.com/book/view/9781430210849
从第三个配方开始,他们假设您知道依赖属性是如何工作的。
所以经过一番谷歌搜索后,我大致了解这些是对象的属性,当它们放置在另一个对象中时,会“适应上下文”以适应宿主对象。我还“了解到”“你永远不会真正知道这些属性的价值是什么,因为它们取决于它们的上下文。”
但本书中描述的大部分内容仍然让我不知道在构建应用程序时如何使用它们。
对于刚开始使用它们并想知道何时以及如何使用它们的人们来说,谁有一个很好的依赖属性隐喻或示例?
【问题讨论】:
标签:
wpf
dependency-properties
【解决方案1】:
依赖属性与普通属性一样,只是它们有一些 WPF 使用的特殊“挂钩”。
一个特别的事情是,有时如果你不设置一个属性值,它会从它所在的控件接收它的值(所以如果你为按钮设置字体,按钮内的文本块将使用这个字体除非您为文本块指定不同的字体),否则我认为这是所有“永远不知道值”废话的根源。
如果您正在编写 WPF 控件,您可能应该使用依赖属性,因为您可以指定更改是否应该自动导致控件重新呈现自身(以及更多),并且您可以将它们用于数据绑定。
如果您正在编写从 Freezable 派生的类(直接或间接),仅使用依赖属性将节省一些工作。
如果您正在编写一个不是 WPF 特定的类,那么可能没有理由使用依赖属性。