谁拥有WPF依赖属性的最佳隐喻?

时间:2009-01-26 09:05:02

标签: wpf dependency-properties

我正在阅读C#2008中的WPF食谱:

http://www.apress.com/book/view/9781430210849

从第三个配方开始,他们会让你知道依赖属性是如何工作的。

所以经过一点点的谷歌搜索后,我总体上理解这些是对象的属性,当放置在另一个对象“适应上下文”到宿主对象时。我还“学会了”“你从未真正知道这些属性的价值,因为它们取决于它们的背景。”

但是书中描述的内容仍然让我不知道在构建应用程序时如何使用它们。

对于那些从他们开始并想知道他们何时以及如何使用它们的人,谁有一个很好的比喻或依赖属性的例子?

1 个答案:

答案 0 :(得分:3)

依赖属性就像普通属性一样,除了它们有一些WPF使用的特殊“钩子”。

有一件特别的事情是,有时如果你没有设置属性值,它将从放置的控件中接收它的值(所以如果设置按钮的字体,按钮内的文本块将使用这个字体除非你为文本块指定了不同的字体),我认为这是所有“永远不知道价值”废话的来源。

如果您正在编写WPF控件,则可能应该使用依赖项属性,因为您可以指定更改是否应该自动导致控件重新呈现(以及更多),并且您可以将它们用于数据绑定。

如果您正在编写一个仅使用依赖属性从Freezable派生的类(直接或间接)将为您节省一些工作。

如果您正在编写一个非WPF特定的类,那么可能没有理由使用依赖项属性。