2014-02-18 2 views
4

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

그리고 문제의 주석 스크린 샷 :

Screenshot

가 어떻게 그 문제를 해결할 수

는 여기에 몇 가지 XAML 코드입니까? 난 그냥 같은 문제가 일어난 이후

답변

관련 문제