WPF数据网格在ContextMenu上失去焦点

5
我的DataGrid已经分配了一个ContextMenu,其中包含一些命令,用于处理所选行的操作。这已经很好地实现了。
问题是,每次打开ContextMenu(无论是右键还是菜单键),DataGrid都会失去焦点,并且所选行的背景颜色会从蓝色变成浅灰色。这样的对比度很大,用户会认为选择被取消了,并且不确定上下文菜单是否针对正确的行。
颜色变化是完全正常的,非聚焦项目不应该有焦点颜色。但是打开上下文菜单不应该触发它。
以下是一些XAML代码:
<DataGrid
    HeadersVisibility="Column"
    HorizontalGridLinesBrush="#cccccc" VerticalGridLinesBrush="#cccccc"
    BorderBrush="#cccccc" Background="{x:Null}"
    CanUserReorderColumns="False" IsReadOnly="True"
    ItemsSource="{Binding MyItems, NotifyOnTargetUpdated=True}"
    AutoGenerateColumns="False"
    SelectionChanged="DataGrid_SelectionChanged">
    <DataGrid.Columns>
        <DataGridTextColumn .../>
        <DataGridTextColumn .../>
        <DataGridTextColumn .../>
    </DataGrid.Columns>
    <DataGrid.ContextMenu>
        <ContextMenu DataContext="{Binding PlacementTarget.DataContext, RelativeSource={RelativeSource Self}}">
            <MenuItem Header="Command text" Command="{Binding MyCommand}"/>
        </ContextMenu>
    </DataGrid.ContextMenu>
</DataGrid>

以下是问题的带注释截图:

截图

我该如何解决这个问题?

1个回答

4

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