选择并聚焦后如何更改datagrid单元的背景颜色?

时间:2020-08-26 10:37:15

标签: c# wpf datagrid

当我双击鼠标时,我正在尝试更改当前所选单元格的Background属性,但是由于我是WPF的新手,所以遇到了一些问题。我已经用XAML尝试过这种方式:

<DataGrid.CellStyle>
   <Style TargetType="DataGridCell">
      <Style.Triggers>
         <Trigger Property="IsFocused" Value="True">
            <Setter Property="Background" Value="#FF333333"/>
         </Trigger>
      </Style.Triggers>
   </Style>
</DataGrid.CellStyle>

并以编程方式:

private void DataMapping_MouseDoubleClick(object sender, MouseButtonEventArgs e)
{
   var row = sender as DataGridRow;
   row.Background = new SolidColorBrush(Color.FromRgb(51, 51, 51));
}

Cell Style When Double Clicked

有什么建议吗? Full code for the Datagrid here.

1 个答案:

答案 0 :(得分:1)

您必须为数据网格列创建并设置EditingElementStyle,因为双击单元格时您处于 edit-mode 。在这种模式下,数据网格单元格包含用于编辑的特定控件,例如用于文本列的TextBox,因此更改单元格背景不会有效果。

下面的编辑样式将Background的{​​{1}}和Foreground设置为编辑模式。

TextBox