Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# datagrid中的ContextMenu_C#_.net_Wpf_Datagrid_Contextmenu - Fatal编程技术网

C# datagrid中的ContextMenu

C# datagrid中的ContextMenu,c#,.net,wpf,datagrid,contextmenu,C#,.net,Wpf,Datagrid,Contextmenu,我在datagrid中有一个自定义上下文菜单。仅当所选记录仍然是文本块(未单击)且位于记录的第一部分时,关联菜单才起作用 当我点击记录使其成为文本框时,我无法使用上下文菜单 我现在已经知道如何在文本框中获得相同的上下文菜单,但是当我单击这些项时,它们就不起作用了。在他们身后有许多命令 我怎样才能使命令正常工作 自定义关联菜单的代码: <support:CustomDataGrid.ContextMenu> <custom:

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

当我点击记录使其成为文本框时,我无法使用上下文菜单

我现在已经知道如何在文本框中获得相同的上下文菜单,但是当我单击这些项时,它们就不起作用了。在他们身后有许多命令

我怎样才能使命令正常工作

自定义关联菜单的代码:

<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>


是否尝试将
自定义:CustomContextMenu
定义为资源,然后使用
文本框中的
{StaticResource key}
引用它?那么
CustomDataGrid
CustomContextMenu
是如何定义的呢?@mm8我确实是作为一个资源来尝试的,那也是同样的问题。contextmenu是在datagrid中定义的。datagrid只是一个datagrid。不知道你所说的定义是什么意思什么问题?什么不起作用?发生了什么?@mm8当我把它作为一个资源(就像参考资料一样)时,这些命令在文本框样式上仍然不起作用。它显示菜单,但命令不起作用。但是在应用程序/数据网格的其余部分,contextmenu可以很好地处理命令。您应该相应地阅读和编辑您的问题。