내 DataGrid에 ContextMenu가 할당되어 있습니다.이 ContextMenu에는 할당 된 행에 대해 작업을 수행하는 명령이 들어 있습니다. 그건 이미 잘 작동합니다.WPF DataGrid가 ContextMenu에 포커스를 잃습니다
ContextMenu를 열 때마다 (마우스 오른쪽 단추 또는 메뉴 키로) ContextMenu를 열 때마다 DataGrid의 포커스가 사라지고 선택한 행의 배경색이 파란색에서 밝은 회색으로 변경됩니다. 이는 콘트라스트 메뉴가 올바른 행으로 열리는 지 사용자가 선택을 지우고 확실하지 않다는 점에서 매우 대조적입니다.
그 색상 변경은 완벽하게 좋으며 초점이 맞지 않는 항목에는 초점 색상이 없어야합니다. 그러나 상황에 맞는 메뉴를 열면 그걸 트리거해서는 안됩니다.
<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>
그리고 문제의 주석 스크린 샷 :
가 어떻게 그 문제를 해결할 수는 여기에 몇 가지 XAML 코드입니까? 난 그냥 같은 문제가 일어난 이후
는