首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在WPF中,依赖属性和附加属性有什么不同?

在WPF中,依赖属性和附加属性有什么不同?
EN

Stack Overflow用户
提问于 2009-08-06 18:52:12
回答 4查看 36.7K关注 0票数 94

在WPF中,(自定义)依赖属性和附加属性有什么不同?每一个都有什么用处?这些实现通常有什么不同?

EN

回答 4

Stack Overflow用户

发布于 2009-08-06 18:56:17

附加属性是一种依赖属性。不同之处在于如何使用它们。

通过附加属性,该属性被定义在与使用它的类不同的类上。这通常用于布局。很好的例子是Panel.ZIndex或Grid.Row -你将其应用于一个控件(即:按钮),但它实际上是在面板或网格中定义的。该属性被“附加”到按钮的实例上。

例如,这允许容器创建可在任何UIelement上使用的属性。

至于实现的区别--这基本上就是在定义属性时使用注册和RegisterAttached的问题。

票数 71
EN

Stack Overflow用户

发布于 2012-01-10 19:33:57

附加属性基本上是指容器elements.like如果你有一个网格,你现在有一个grid.row这被认为是一个网格element.also的附加属性你可以在文本框,按钮等中使用这个属性来设置它在网格中的位置。

依赖属性类似于属性基本上属于某个其他类,并在其他类中使用。就像你在这里有一个矩形一样,height和width是rectangle的常规属性,但是left和top是依赖属性,因为它属于Canvass类。

票数 5
EN

Stack Overflow用户

发布于 2016-07-15 14:03:53

附加属性是一种特殊的DependencyProperties。它们允许您将值附加到对该值一无所知的对象。布局面板就是这个概念的一个很好的例子。每个布局面板需要不同的数据来对齐子元素。画布需要顶部和左侧,DockPanel需要对接,等等。因为你可以编写自己的布局面板,列表是无限的。因此,您可以看到,不可能在所有WPF控件上都具有所有这些属性。解决方案是附加属性。它们由需要来自特定上下文中另一个控件的数据的控件定义。例如,由父布局面板对齐的元素。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1240699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档