【发布时间】:2012-08-20 11:31:45
【问题描述】:
我有一个图形控件,它有两种类型的实体:节点和边(链接)。 图形控件公开了几个属性,即
- myGraphContol.SeletedNode
- myGraphControl.SelectedLink
节点和边都有一些用于可视化的配置文件数据,因此它们都实现了一个名为 IProfile 的接口。
配置文件数据将在相邻的 ContentControl 中可视化,该 ContentControl 将选择适当的模板。 这工作得很好:
<ContentControl VerticalAlignment="Stretch" ContentTemplate="{Binding Source={StaticResource AllPropertiesTemplate}}" Content="{Binding Path=SelectedNode.Data,ElementName=myGraphContol}"/>
但是如何使它适用于另一个属性 SelectedLink.Data。基本上,内容控件必须与这两个属性绑定。用户将一次单击任何一个节点或边,并能够查看配置文件。 任何帮助将不胜感激。感谢阅读。
问候,
【问题讨论】:
-
您可以使用多重绑定,但最好将您选择的项目通用化,以便选择的节点或边可以由相同的属性表示。
-
您能否提供一个指向多绑定方式的指针。在多重绑定中,转换器是必须的。
-
我看到右边的一些相关帖子对多重绑定的工作原理以及如何设置提供了很好的答案。它实际上与绑定相同,您只需向其添加多个绑定。这个网站有一个很好的例子,类似于你想做的事情。 switchonthecode.com/tutorials/wpf-tutorial-using-multibindings
标签: wpf mvvm binding multibinding