是否可以将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