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>