1

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

例如:

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

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

4

2 回答 2

1

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

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

MSDN:FrameworkElement.Name

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

MSDN:自定义附加属性

于 2013-02-19T00:27:50.233 回答
0

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

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

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

于 2013-02-14T20:52:36.960 回答