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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF如何实现DataGrid的右键出现选项菜单的功能相关的知识,希望对你有一定的参考价值。

感想你们团队的帮助,但是我按照你们的说法发现还是点击后没有反应。。。要添加事件代码,选中这段代码<ContextMenu Name="cm" StaysOpen="true">
它的属性窗口-事件里MouseDown。。。。。

<DataGrid >/////////////////////////////////////////////////// <DataGrid.ContextMenu>
<ContextMenu Name="cmList" StaysOpen="true" Background="Cornsilk">
<ContextMenu.BitmapEffect>
<OuterGlowBitmapEffect />
</ContextMenu.BitmapEffect>
<MenuItem Header="查看XPS文件" Name="cmuView" Click="cmuView_Click">
<MenuItem.Icon>
<Image Width="32" Height="32" Source="/iStarMES;component/Images/view.png"/>
</MenuItem.Icon>
</MenuItem>
<Separator/>
<MenuItem Header="删除" Name="cmuDelete" Click="cmuDelete_Click">
<MenuItem.Icon>
<Image Width="32" Height="32" Source="/iStarMES;component/Images/delete.ico"/>
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
</DataGrid.ContextMenu>///////////////////////////////////////////这些就是右键的菜单了..其中的事件也可以直接加上去的
<DataGrid.Columns>
<DataGridTextColumn Header="文件编号" Binding="Binding Path=filecode" />
<DataGridTextColumn Header="文件名称" Binding="Binding Path=filename" />
<DataGridTextColumn Header="文件版本" Binding="Binding Path=versions" />
<DataGridTextColumn Header="归属产品" Binding="Binding Path=partcode" /> </DataGrid.Columns>
</DataGrid>
参考技术A ContextMenu context = new ContextMenu();
public Window1()

InitializeComponent();
MenuItem item = new MenuItem();
item.Header = "快捷方式";
item.Click += new RoutedEventHandler(item_Click); context.Items.Add(item);

void item_Click(object sender, RoutedEventArgs e)

throw new NotImplementedException();
private void dataGrid1_PreviewMouseRightButtonDown(object sender, MouseButtonEventArgs e)

context.IsOpen = true;
自己看吧,我玩WPF多年了
参考技术B ContextMenu Name="cm" StaysOpen="true"

以上是关于WPF如何实现DataGrid的右键出现选项菜单的功能的主要内容,如果未能解决你的问题,请参考以下文章

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

WPF的滚动条右键时弹出的选项怎么可以去掉啊?

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

WPF 在datagrid和ScrollViewer的滚动条上右键发现弹出的选项全是英文,怎么改成汉语?

如何在WPF中模拟右键单击datagrid

WPF 根据指定条件显示或禁止listView中的每一项的右键菜单