将“全选”添加到默认文本框菜单项的右键菜单中。

7
在我的DataGrid的DataGridTemplateColumn中有一个CellEdititngTemplate,其中包含一个TextBox,当我的DatagridCell处于编辑模式且用户右键单击它时,我希望显示4个上下文菜单项(剪切、复制、粘贴、全选)。
我发现TextBox控件的默认右键单击上下文菜单只包含3个菜单项:剪切(Ctrl + X)、复制(Ctrl + C)、粘贴(Ctrl + V)。
虽然Ctrl + A适用于TextBox,但没有“全选”上下文菜单项。因此,问题是:如何在不失去剪切、复制、粘贴菜单项及其功能的情况下将新的上下文菜单项“全选”添加到TextBox上下文菜单中?
2个回答

13

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

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

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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接