我在 WPF 应用程序中使用 MV-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 驻留在哪里?
还是我离这儿很远?