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