添加'全选'上下文菜单项到默认TextBox菜单项

时间:2015-04-17 08:40:06

标签: wpf datagrid textbox contextmenu

我的DataGrid中的DataGridTemplateColumn的CellEdititngTemplate中有一个TextBox,当我的DatagridCell处于编辑模式并且用户右键单击它时,我想显示4个上下文菜单项(剪切,复制,粘贴,全选)。

我看到TextBox控件的默认右键单击上下文菜单只包含3个菜单项:剪切(Ctrl + X),复制(Ctrl + C),粘贴(Ctrl + V)。

没有'全选'上下文菜单项虽然Ctrl + A适用于TextBox。所以问题是 - 如何添加新的上下文菜单项'全选'进入TextBox上下文菜单而不丢失剪切,复制,粘贴菜单项及其功能?

2 个答案:

答案 0 :(得分:10)

我认为您无法更改现有的上下文菜单,但您可以创建自己的菜单并重复其他命令

<ContextMenu>
     <MenuItem Command="ApplicationCommands.Cut" />
     <MenuItem Command="ApplicationCommands.Copy" />
     <MenuItem Command="ApplicationCommands.Paste" />
     <MenuItem Command="ApplicationCommands.SelectAll" />
</ContextMenu>

答案 1 :(得分:0)

通常我会在剪贴板项目和全选之间看到一个分隔符。这在 RichTextBox 中对我有用:

            <FrameworkElement.ContextMenu>
                <ContextMenu>
                    <MenuItem Command="{x:Static ApplicationCommands.Cut}" />
                    <MenuItem Command="{x:Static ApplicationCommands.Copy}" />
                    <MenuItem Command="{x:Static ApplicationCommands.Paste}" />
                    <Separator />
                    <MenuItem Command="{x:Static ApplicationCommands.SelectAll}" />
                </ContextMenu>
            </FrameworkElement.ContextMenu>