AlternatingRowBackground颜色在数据网格编辑时发生更改
本文关键字:编辑 网格 颜色 数据 数据网 AlternatingRowBackground | 更新日期: 2023-09-27 18:20:06
我有一个数据网格,我在其中设置了AlternatingRowBackground。我允许用户编辑数据网格的值。但是,当用户编辑值时,背景颜色将变为白色。
<DataGrid Name="grdTests" AlternatingRowBackground="#C4E6FF"/>
我一直不知道它为什么会改变,我没有在其他地方设置背景色。
White
-是编辑模式的默认颜色,AlternatingRowBackground
仅用于查看模式。你可以使用这种方法:
<Style TargetType="{x:Type DataGridCell}">
<Style.Triggers>
<Trigger Property="IsEditing" Value="True">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="DataGridCell">
<TextBox Text="{Binding RelativeSource={RelativeSource TemplatedParent},
Path=Content.Text, Mode=TwoWay, UpdateSourceTrigger=Default}"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
Padding="0"
BorderThickness="0"
Background="{Binding RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}, Path=AlternatingRowBackground}"/>
</ControlTemplate>
</Setter.Value>
</Setter>
</Trigger>
</Style.Triggers>
</Style>
将此样式放在DataGrid
的Resources
集合中,然后编辑单元格的颜色将与您的AlternatingRowBackground
颜色相同。