是否可以绑定到属性名称

本文关键字:属性 绑定 是否 | 更新日期: 2023-09-27 17:59:39

是否可以绑定属性名称。当我尝试时,似乎会出现运行时错误。

例如:

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

这是在网格视图中集合的标头中。。。

是否可以绑定到属性名称

您无法绑定Name,抱歉。它在内部被用于太多的事情,如果可以的话,这些事情肯定会变得疯狂。文件有点模糊,但要这样说:(强调我的)

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

(MSDN:FrameworkElement.Name)

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

(MSDN:自定义附加属性)

好吧,我已经一遍又一遍地阅读了文档,但找不到让它发挥作用的方法。文档没有说你不能做,但也没有说你可以做。

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

它并不优雅,但它似乎确实如预期的那样工作。