是否可以將TextBlock作爲目標和源?XAML對象可以作爲一個綁定的源和另一個綁定的目標嗎?
基本上我有一堆具有到其它實體的簡單關係(如ENTITY1誰知ENTITY3,ENTITY3 WorksAt ENTITY2等)
我有一個Link
類存儲SourceEntity
,Relationship
和TargetEntity
細節實體。
我希望能夠做的是選擇一個實體,然後顯示與該實體的關係,有關係的名字下面列出的每個關係的目標實體。
當選擇一個實體時,ObservableCollection
填充該特定實體的Links
(SelectedEntityLinks<Link>
)。
由於每個實體可能與多個目標實體具有相同的關係(實體1可能知道例如實體3和實體4),我創建了一個方法GetThisRelationshipEntities()
,它將關係名稱作爲參數,通過SelectedEntityLinks
查找與參數匹配的關係名稱,並返回ObservableCollection
與該關係的目標實體。
在我的XAML中我有一個WrapPanel
在TextBlock中顯示每個關係名:
<TextBlock x:Name="relationship" Text="{Binding Path=Relationship.Name}" />
然後說下另一個文本塊應顯示GetThisRelationshipEntities(String relationshipName).
結果讓我想要的「關係」 TextBlock既可以從我上面顯示的綁定中獲取文本,也可以將其Text作爲參數提供給GetThisRelationshipEntities()
方法,我已將其作爲ObjectDataProvider添加到<UserControl.Resources>
。
對不起,如果這有點羅嗦,但我希望它很清楚。任何指針/建議都會很棒。
感謝馬丁,我會考慮的價值轉換。但有一個問題,如果我使用的是一個名爲Convert()的方法,我如何從TextBlock中將Relationship.Name傳遞給它?或者是使用Converter = {StaticResource myRelationConverter}會做什麼? TextBlock當前顯示的關係。名稱是顯示正確數據的關鍵。如果我能弄清楚如何找回它! – iambic77 2011-01-07 13:29:39
轉換器被稱爲綁定操作的一部分。 1.檢索Relationship.Name的值2.通過框架將值傳遞給給定值轉換器convert方法3.將Convert方法的返回值寫入Text屬性 – Martin 2011-01-13 15:33:01
@ iambic77參見上面的 – Martin 2011-01-13 16:43:37