我有C#
WPF-Application
。在XAML
我有一个Datagrid
,我添加了ContextMenu
,如下所示:
<DataGrid.ContextMenu>
<ContextMenu ItemsSource="{Binding Categories}">
<ContextMenu.ItemTemplate>
<DataTemplate>
<MenuItem Header="{Binding Name}" Background="{Binding Brush}" Click="MenuItem_Click" Tag="{Binding Id}" />
</DataTemplate>
</ContextMenu.ItemTemplate>
</ContextMenu>
</DataGrid.ContextMenu>
使用该应用程序时,它看起来像这样:http://imgur.com/3UTj1Xd
问题是,当单击框的颜色部分(我猜测它是某个内部网格的一部分)时,MenuItem_Click
事件被触发。但是,当我点击MenuItem
的灰色部分时,不会触发点击事件。有谁知道它为什么会这样?有没有办法解决这个问题?
此外,能够为整个菜单项而不仅仅是内部的小盒子着色会很棒。有没有办法做到这一点?
答案 0 :(得分:1)
您可以尝试减少Padding
的{{1}}和ContextMenu
的{{1}}:
BorderThickess
或者
MenuItems