我正在开发用户界面,用于布置用于设置移动机器人路线的图形(节点和边缘)。该代码基于Ashley Davis在codeproject上的NetworkView:(http://www.codeproject.com/Articles/182683/NetworkView-A-WPF-custom-control-for-visualizing-a)
我创建了一个viewmodel,它从数据库接收节点类型,并希望customcontrol- NodePropertyEditor显示一个下拉框,显示用户选择的节点的当前类型,而不仅仅是类型的名称( nodemodel.cs)。我的问题是我如何做到这一点,因为当前数据绑定是模型,只有viewmodel包含节点类型
<DataTemplate DataType="{x:Type local:NaviNodeModel}">
<customControl:NodePropertyEditor/>
</DataTemplate>
目的是允许用户更改节点类型。
答案 0 :(得分:0)
您可以同时使用ElementName
和Path
数据绑定到当前视图模型:
命名视图的根元素(可能是UserControl)root
。
更新您的装订:
<DataTemplate Type="Something">
<Whatever SomeProperty="{Binding ElementName=root, Path=DataContext.PropertyOfViewModel}">
</DataTemplate>