是否可以绑定到属性名称?

时间:2013-02-14 18:53:38

标签: c# xaml button binding windows-runtime

是否可以绑定属性名称。我尝试时似乎遇到了运行时错误。

例如:

<button Name="{Binding UniqueID}" Click="ButtonHandler">

这是在网格视图中的集合的标题中...

2 个答案:

答案 0 :(得分:1)

你不能绑定名字,抱歉。它在内部用于太多的东西,如果可能的话,东西肯定会变得疯狂。文档有点模糊,但请这样说:(强调我的)

  

您不能使用Name的字符串值作为   数据绑定源的直接源值。如果你必须显示   与具有绑定的UI中的Name相同的字符串值,您应该复制   与Tag属性相同的值,可以用作属性   绑定源。 也不要使用Name作为绑定目标。

MSDN: FrameworkElement.Name

但是,如果要将随机额外数据附加到UI控件,我建议使用附加属性。通过这种方式,它们与您正在做的事情特别相关,并且将被适当地键入,与Tag不同。

MSDN: Custom Attached Properties

答案 1 :(得分:0)

好吧,我一遍又一遍地阅读文档,但找不到让它工作的方法。文档并没有说你不能这样做,但它并没有说你也可以做到。

但是,我找到了两个解决方法。如果您没有使用Tag或DataContect,而不是绑定名称,您可以找到那些并在处理程序中通过强制转换为字符串来提取它们。

它并不优雅,但似乎确实按预期工作。