Wpf Binding.Path设置
Binding.Path
获取或设置绑定源属性的路径。
每个绑定通常都具有四个组件:绑定目标对象、目标属性、绑定源,以及要使用的绑定源值的路径。有关这些数据绑定概念的更多信息,请参见数据绑定概述。
使用 Path 属性可以指定您要绑定到的源值:
-
在最简单的情况下,Path 属性值是要用于绑定的源对象的属性名,如 Path=PropertyName。
-
通过类似于 C# 中使用的语法,可以指定属性的子属性。例如,子句 Path=ShoppingCart.Order 设置与对象或属性 ShoppingCart 的Order 子属性的绑定。
-
若要绑定到附加属性,应在附加属性周围放置圆括号。例如,若要绑定到附加属性 DockPanel.Dock,则语法是 Path=(DockPanel.Dock)。
-
可以在要应用索引器的属性名后面的方括号内指定属性的索引器。例如,子句 Path=ShoppingCart[0] 将绑定设置为与属性的内部索引处理文本字符串“0”的方式对应的索引。此外,还支持多个索引器。
-
可以在 Path 子句中混合索引器和子属性;例如,Path=ShoppingCart.ShippingInfo[MailingAddress,Street].
-
在索引器内部,您可以有多个由逗号 (,) 分隔的索引器参数。可以使用圆括号指定每个参数的类型。例如,您可以有 Path="[(sys:Int32)42,(sys:Int32)24]",其中 sys 映射到 System 命名空间。
-
如果源为集合视图,则可以用斜杠 (/) 指定当前项。例如,子句 Path=/ 用于设置到视图中当前项的绑定。如果源为集合,则此语法指定默认集合视图的当前项。
-
可以结合使用属性名和斜杠来遍历作为集合的属性。例如,Path=/Offices/ManagerName 指定源集合的当前项,该源集合包含也作为集合的 Offices 属性。其当前项是一个包含 ManagerName 属性的对象。
-
也可以使用句点 (.) 路径绑定到当前源。例如,Text="{Binding}" 等效于 Text="{Binding Path=.}"。
实例:
下面的示例显示一个用于创建 ToolTip 以报告验证错误消息的样式触发器。使用 RelativeSource 属性将 setter 的值绑定到当前 TextBox(使用样式的 TextBox)的错误内容。有关此示例的更多信息,请参见How to: Implement Binding Validation。
< Style x:Key ="textBoxInError" TargetType ="{x:Type TextBox}" > <Style.Triggers> <Trigger Property="Validation.HasError" Value="true"> <Setter Property="ToolTip" Value="{Binding RelativeSource={x:Static RelativeSource.Self}, Path=(Validation.Errors)[0].ErrorContent}"/> </Trigger> </Style.Triggers> </Style>