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>

 

posted @ 2016-08-10 16:47  天马3798  阅读(11251)  评论(0编辑  收藏  举报