【发布时间】:2010-10-09 13:32:34
【问题描述】:
我在 WPF 应用程序中使用 M-V-VM 模式。我将 ViewModel 绑定到 ContentControl 并使用窗口资源中定义的数据模板来呈现该 ViewModel 的视图(UserControl)。
在 ViewModel 中,我有一个项目集合。我将该集合绑定到 WPF 工具包中提供的数据网格。同样在视图模型中,我定义了一个 RemoveItem 命令,该命令接受要删除的项目 ID 的参数。
如何在数据网格中绑定到该命令?网格的数据上下文就是那个集合,所以类似于:
<Button Command="{Binding Path=RemoveCommand}" CommandParameter="{Binding Path=id}">X</Button>
不起作用 - 它找不到命令。我想我需要做 RelativeSource 绑定,但那会是什么样子?祖先类型是 UserControl 还是 ContentControl?我的 ViewModel 作为 DataContext 驻留在哪里?
或者我离这里很远?
【问题讨论】:
标签: .net wpf data-binding mvvm