WPF的DataGrid中如何通过上下文菜单(右键菜单)实现删除行的操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF的DataGrid中如何通过上下文菜单(右键菜单)实现删除行的操作相关的知识,希望对你有一定的参考价值。

我已经在DataGrid中添加了上下文菜单:
以下是标记,DataGrid所绑定的数据在一个名叫m_Records的链表中。该对象的类型包含Time和Record属性:
<DataGrid Name="dataGrid">
<DataGrid.ContextMenu>

<ContextMenu>

<MenuItem Header="删除" Click="MenuItem_Click"></MenuItem>
</ContextMenu>
</DataGrid.ContextMenu>
<DataGrid.columns>

<DataGridTextColumn Header="时间" Binding="Binding Path=Time"></DataGridTextColumn >
<DataGridTextColumn Header="内容" Binding="Binding Path=Record"></DataGridTextColumn >
</DataGrid.columns>
</DataGrid>

以下是事件处理程序:
private void MenuItem_Click(object sender, RoutedEventArgs e)


请问要怎么样才能实现,单击菜单的删除项后,就把鼠标下方的项从dataGrid中删除?我曾想过用DataGrid的SelectItem属性,但是那是第一个被选中的项,不一定是当前鼠标指针下方的项。

存鼠标操作的话需要用到datagridrow的样式,样式中有click,doubleclick,也有mouse系列方法。
需要在这些事件中处理。
单纯的右键菜单不行,右键是grid的属性。

选中一行后,在grid右键也会出菜单,这样有违常理。
所以需要通过row的事件或方法。
参考技术A 获取selectitme的index +1再删除

以上是关于WPF的DataGrid中如何通过上下文菜单(右键菜单)实现删除行的操作的主要内容,如果未能解决你的问题,请参考以下文章

如何将上下文菜单添加到 wpf 数据网格?

WPF如何实现DataGrid的右键出现选项菜单的功能

wpf 怎么给datagrid 右键菜单加多个选项?

WPF如何实现DataGrid的右键出现选项菜单的功能

WPF Datagrid行上下文菜单-禁用菜单项[关闭]

如何在 dojox.grid.DataGrid 中启用浏览器上下文菜单?