2010-07-07 20 views
4

到目前为止,我在WPF中的冒险中见过一些非常不同的AttachedProperties用法,我想知道什么是一些各种用途?附加属性的各种用途有哪些?

我见过相当平凡的用途,比如那些在Grid和Canvas中找到的用法,以及一些非常酷的黑客,允许绑定到没有setter的集合。你有什么其他应用程序找到了AttachedProperties? (代码示例真的很有用!)

+0

大声笑。酷黑客? – Stimul8d 2010-07-27 10:29:18

回答

1

看看附加的行为。

http://www.codeproject.com/KB/WPF/AttachedBehaviors.aspx //不确定此链接的质量。 Google搜索后第一个来。

附加一个行为对象 仅仅意味着使物体做 的东西,它不会在其 自己

可能性做是相当无限的什么,你可以通过附加的行为实际上做但它通常可以减少扩展控制或为后面的代码添加逻辑的需求。

1

当您想要将属性添加到现有类时,请使用自定义附加属性: 在Silverlight 4中可用之前,我创建了an attached property for a DataGrid,允许使用*宽度指定列以占用所有可用空间) :

0

就詹姆斯所说,附加行为是我见过的最有用的东西。我经常使用的一种方法是将文本放入文本框中,然后在焦点时使其消失。

包含示例输入的灰色字符串适用于此目的。因此,对于“名称”文本框,您可能会使用字符串“Joe Bloggs”。

+1

不错,'水印'文本框 - 我们经常在网站上使用这些文本框。 – 2010-07-27 15:53:19

0

这里有一些更高级用法我发现他们:

  1. 标记区域(棱镜图案)

http://csharperimage.jeremylikness.com/2010/03/mef-instead-of-prism-for-silverlight-3.html

  • 使用托管扩展框架(MEF)提供定制的XAML资产出口
  • http://csharperimage.jeremylikness.com/2010/03/custom-export-providers-with-custom.html

    (扎带进入子弹为#1)

  • 验证(附加验证行为到控制)

  • 位置(我看到用于访问资源并提供翻译值的附加属性)

  • 明显的行为也是另一个主要的行为。