我有一个包含布尔字段的数据网格。当我测试程序并单击一行的复选框时,它不能立即改变行的颜色,因为我的代码有一个事件“CellEndEdit”,我必须离开单元格来改变颜色。我尝试过其他一些活动,但无法让它们发挥作用。
如果单击datagrid上的复选框,如何更改行的背面颜色?
编辑:这是一个Windows窗体应用程序(不是WPF),而我正在使用Microsoft Visual Studio Express 2013 for Windows Desktop。顺便说一句,它不是数据网格,它是从mdb数据库填充的datagridview。
答案 0 :(得分:0)
看起来应该是这样的
If CheckBox1.Checked = True Then
CheckBox1.BackColor = Color.FromArgb(255,255,255)
End If
你也可以这样做。
Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged
If CType(sender, CheckBox).Checked Then
CheckBox1.BackColor = Color.FromArgb(255,255,255)
Else
CheckBox1.BackColor = Color.FromArgb(0, 0, 0)
End If
End Sub
知道这是DATAGRID之后的更新 你尝试过这样的事吗?
<DataGridTextColumn Binding="{Binding Name}">
<DataGridTextColumn.ElementStyle>
<Style TargetType="{x:Type TextBlock}">
<Style.Triggers>
<Trigger Property="checkbox" Value="True">
<Setter Property="Background" Value="LightGreen"/>
</Trigger>
</Style.Triggers>
</Style>
</DataGridTextColumn.ElementStyle>
</DataGridTextColumn>