有关使用来自不同来源的数据绑定在customcontrol上创建组合框的建议

时间:2014-12-18 09:16:25

标签: wpf mvvm data-binding

我正在开发用户界面,用于布置用于设置移动机器人路线的图形(节点和边缘)。该代码基于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>

目的是允许用户更改节点类型。

1 个答案:

答案 0 :(得分:0)

您可以同时使用ElementNamePath数据绑定到当前视图模型:

  1. 命名视图的根元素(可能是UserControl)root

  2. 更新您的装订:

    <DataTemplate Type="Something">
        <Whatever SomeProperty="{Binding ElementName=root, Path=DataContext.PropertyOfViewModel}">
    </DataTemplate>