最近在使用WPF写一套系统,期间用到DataGrid显示数据记录,对DataGrid的使用方法在此简单的做一个记录
<DataGrid
Grid.Row="1"
AlternationCount="2"
AutoGenerateColumns="False"
CanUserAddRows="False"
CanUserDeleteRows="False"
CanUserReorderColumns="False"
CanUserResizeColumns="False"
CanUserResizeRows="False"
ColumnHeaderHeight="30"
FontSize="16"
GridLinesVisibility="Horizontal"
HeadersVisibility="Column"
IsReadOnly="True"
ItemsSource="{Binding WorkStationDatas}"
RowHeight="28">
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="0">
<Setter Property="Background" Value="#ffeedd" />
</Trigger>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="#ff22dd" />
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>
<DataGrid.Columns>
<DataGridTextColumn
Width="Auto"
MinWidth="50"
Binding="{Binding Id}"
Header="" />
<DataGridTextColumn
Width="*"
Binding="{Binding WareHouseName}"
Header="仓体名称" />
<DataGridTextColumn
Width="*"
Binding="{Binding TypeName}"
Header="数据类型" />
<DataGridTextColumn
Width="*"
Binding="{Binding WorkStationData}"
Header="数据值" />
<DataGridTextColumn
Width="*"
Binding="{Binding SaveTime, StringFormat='yyyy-MM-dd HH:mm:ss'}"
Header="记录时间" />
</DataGrid.Columns>
</DataGrid>
属性解释:
1、AlternationCount:设置ItemControl中交替项的数据,可以理解为各几行换色设置
2、AutoGenerateColumns:是否自动生成列
3、CanUserAddRows:是否允许添加新行
4、CanUserDeleteRows:是否允许删除行
5、CanUserReorderColumns:是否允许用户通过使用鼠标拖拽列标题,更改列的显示顺序
6、CanUserResizeColumns:是否允许用户通过鼠标更改列的宽度
7、CanUserResizeRows:是否允许用户通过鼠标更改行的高度
8、ColumnHeaderHeight:列表头的高度
9、GridLinesVisibility:指示显示哪些网格线,包括:None,Horizontal,Vertical,All
10、HeadersVisibility:指示行和列标题的可见性,包括:None,Column,Row,All
如何修改各行显示的颜色呢
<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="0">
<Setter Property="Background" Value="#ffeedd" />
</Trigger>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="#ff22dd" />
</Trigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>