我有一个数据表,我想根据数据表的值更改数据网格中单元格的颜色。
例如,在某些单元格中,字段被写入:无效,忙碌。无效时,我想用红色留下您的背景,而我想离开多少忙于绿色
数据表
0 1 3 4
0 invalid
1 invalid
2
3 invalid
4 invalid
所以在我的数据网格坐标(0,0),(3,0),(3,1)和(4,4)中,我想绘制红色背景
这怎么可能? 我尝试通过以下方式进行操作
<DataGrid x:Name="gvPreV" RowHeaderWidth = "70" CanUserAddRows="True" SelectionUnit="Cell" Margin="10,117,10,10"
ItemsSource="{Binding}" FontSize="16" BorderThickness="1,1,1,1" AutoGenerateColumns="True" AllowDrop="True"
Background="White" ColumnHeaderHeight="30" MinColumnWidth="150"
LoadingRow="gvDados_LoadingRow" IsReadOnly="True" CanUserSortColumns="False"
AlternationCount="2" AlternatingRowBackground="#FFF9F9F9" VerticalGridLinesBrush="#FF252424"
HorizontalGridLinesBrush="#FF2B2828" MouseDoubleClick="gvPreV_MouseDoubleClick" BorderBrush="#FFB6B6B6" HeadersVisibility="All"
SelectionChanged="gvPreV_SelectionChanged" RowHeight="40" MinRowHeight="40" CanUserReorderColumns="False" CanUserResizeColumns="False" CanUserResizeRows="False"
>
<DataGrid.CellStyle>
<Style TargetType="{x:Type DataGridCell}" >
<Setter Property="Background" Value="Green"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Name}" Value="invalid">
<Setter Property="Background" Value="Red"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.CellStyle>
</DataGrid>
我有一个变量名,并且将其设置为无效,因此它将已经保留了所有预期颜色的无效值,但是这无效,所有内容都变为绿色
string Name = "invalid";
public ViewConfigAgendaDin()
{
InitializeComponent();
Inicializa();
gvPreV.ItemsSource = null;
gvPreV.ItemsSource = dtPreVisualizacao.DefaultView;
gvPreV.UpdateLayout();
}
答案 0 :(得分:0)
改为使用<Style TargetType="{x:DataGridCell}"
。