创建DataGrid时,这是我的WPF代码:
<DataGrid x:Name="DGruta11" Height="365" Width="836" Canvas.Left="19"
Canvas.Top="115" CanUserReorderColumns="False"
HorizontalGridLinesBrush="#FFD8D8D8"
VerticalGridLinesBrush="#FFD8D8D8"
IsReadOnly="True" >
</DataGrid>
我正在使用C#创建的数据表填充此网格。
我总共获得了19行,我将永远收到这笔金额。第0,1,2行应为灰色和粗体字母。
第3,4,5,6,7,8,9行应为浅灰色。
第10,11,12行应为白色。
第13,14,15,16,17,17行应再次为格雷。
其中一部分,但如果单元格是数字则使用相同的数据网格,那么我希望该数字为此格式0.00(“9.00”,“1,000.00”,“0.05”)
同样从第2列及以上开始,所有信息都应该对齐。
我希望你能帮我解决这个问题。我感谢并感谢大家的帮助。
答案 0 :(得分:3)
试试这个
<DataGrid ItemsSource="{Binding YourDataToBind}" AutoGenerateColumns="False" CanUserAddRows="False">
<DataGrid.RowStyle>
<Style TargetType="DataGridRow">
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush Color="{Binding YourDataToBind.ValueAsCondition, Converter={StaticResource YourValueToColorConverter}}"/>
</Setter.Value>
</Setter>
</Style>
</DataGrid.RowStyle>
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="ColumHeader" Binding="{Binding ValueInColum}" />
...
答案 1 :(得分:0)
您可以在c#中更改行的背景颜色。这里有一个很好的例子,说明如何做How to change row color in datagridview?
基本上你会循环所有行并使用条件语句,确定应该将哪种颜色应用于此行。
这样的事情:
int rowCount = 0;
foreach (DataGridViewRow row in DGruta11.Rows)
{
rowCount += 1;
if (rowCount > 2 && rowCount < 10)
{
row.DefaultCellStyle.BackColor = Color.LightGray;
}
}