Silverlight - 为什么要使用附属物?

时间:2013-08-15 16:34:11

标签: silverlight dependency-properties attached-properties attachedbehaviors

我正在研究Silverlight(主要用于Windows Phone开发)。我阅读了Silverlight 2 Unleashed,目前正在阅读Silverlight 4。后者有一章关于依赖属性。正如我从本章得到的那样,依赖对象(具有依赖属性)用于UI控件对象以支持动画和数据绑定系统。好。这很清楚。

现在,随着章节的进行,讨论了附加属性。使用它的主要原因(如书中以及互联网上所述)是为了防止创建子类并将附加属性添加到所关注的对象中。由于附加属性已经是依赖属性,因此也会添加附加的行为

现在的问题是:我该怎么做?子类化有什么问题?实际上,为什么在处理附加属性时会有很多代码?

1 个答案:

答案 0 :(得分:2)

  

现在的问题是:我该怎么做?

让我们看一个很好的例子 - 布局。

参加Grid课程。如果我们想要支持这一点,那么每个控件都需要具有GridRowGridColumn属性。但是,附加属性允许我们 Grid.Row附加到任何控件,这反过来允许Grid在其内部正确布局控件。

附加属性都以这种基本方式工作 - 它们允许您“附加”某些定义或帮助某些行为特征正常工作而不会改变“某事”本身的东西。