datagrid中的ContextMenu

问题描述

我在数据网格中有一个自定义上下文菜单。仅当所选记录仍是文本块(未单击)且在记录的第一部分时,上下文菜单才起作用。

单击记录使其成为文本框后,我将无法使用上下文菜单

我现在已经弄清楚了如何在文本框中获得相同的上下文菜单,但是当我单击项目时,它们将不起作用。正如它们后面的命令一样。

如何使命令正常工作?

自定义上下文菜单代码

<support:CustomDataGrid.ContextMenu>
                            <custom:CustomContextMenu x:Name="ContextMenu">
                                <custom:CustomMenuItem Header="Show hex editor" Command="{Binding HexEditCommand}" InputGestureText="F8" />
                                <Separator />
                                <custom:CustomMenuItem Header="Append record" Command="{Binding AppendCommand}" InputGestureText="Ctrl+Insert" />
                                <custom:CustomMenuItem Header="Duplicate record" Command="{Binding DuplicateCommand}" InputGestureText="Ctrl+Shift+Insert" />
                                <custom:CustomMenuItem Header="Delete record" Command="{Binding DeleteCommand}" InputGestureText="Ctrl+Delete" />
                            </custom:CustomContextMenu>
                        </support:CustomDataGrid.ContextMenu>

文本框的代码

<support:CustomDataGrid.EditingElementStyle>

                            <Style x:Name="textBoxStyle" targettype="{x:Type TextBox}">
                                <Setter Property="ContextMenu" Value="{x:Reference ContextMenu}"/>
                                
                                </Style.Triggers>
                            </Style>
                        </support:CustomDataGrid.EditingElementStyle>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)