绑定路径中的括号是啥意思?

Posted

技术标签:

【中文标题】绑定路径中的括号是啥意思?【英文标题】:What do parentheses in binding paths mean?绑定路径中的括号是什么意思? 【发布时间】:2013-01-01 04:46:11 【问题描述】:

最近我在 MSDN 上阅读了“数据绑定概述”文章,并且有这样的示例代码:

<TextBox.ToolTip>
  <Binding RelativeSource="RelativeSource Self" Path="(Validation.Errors)[0].ErrorContent"/>
</TextBox.ToolTip>

我知道 表示标记扩展,但这里的() 括号是什么意思?有人分享解释这种语法的链接会很好。谢谢!

Path="(Validation.Errors)[0].ErrorContent"

【问题讨论】:

【参考方案1】:

下面这个 msdn 链接巧妙地解释了验证规则和序列以及如何使用。

http://msdn.microsoft.com/en-us/library/system.windows.controls.validation.errors.aspx

【讨论】:

【参考方案2】:

引用MSDN library(我在这里引用MSDN,因为我写得再好不过了):

此语法通常用于以下情况之一:

在 XAML 中指定的路径位于没有指定 TargetType 的样式或模板中。限定用法通常不适用于除此之外的情况,因为在非样式、非模板情况下,属性存在于实例上,而不是类型上。 该属性是附属属性。 您正在绑定到静态属性。

要用作情节提要目标,指定为propertyName 的属性必须是DependencyProperty

【讨论】:

【参考方案3】:

() 括号指的是附加属性。

Binding to an Attached Property

【讨论】:

实际上 可以 引用附加属性 - 但这不是您需要它们的唯一情况......【参考方案4】:

(Validation.Errors) 引用 Validation 类中的附加属性 Errors。由于绑定有一个RelativeSource = Self,它会查找与 TextBox 本身相关的附加属性的值。

【讨论】:

以上是关于绑定路径中的括号是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

java中@RequestMapping注解指定的路径value后面的大括号里面的字符串是啥意思啊!

Javascript中的绑定是啥意思?

导入路径中的 @ 是啥意思?

icpc(或我猜是gcc)的预处理输出中的包含路径/数字是啥意思?

path是啥意思

PHP中的ABSPATH是啥意思?