基本的数据绑定
把集合的字段(属性)绑定在DataGrid的Binding属性就能将数据绑定列表
1 public class CashItem {
2 public int Value { get; set; }
3 public int Count { get; set; }
4 public int Amount { get { return Value * Count; } }
5 }
1 var items = new List<CashItem>() {
2 new CashItem{Value=100,Count=23},
3 new CashItem{Value=50,Count=10},
4 new CashItem{Value=20,Count=5},
5 new CashItem{Value=10,Count=11}
6 };
7 this.Cassetters.ItemsSource = items;
1 <DataGrid Name="Cassetters" HeadersVisibility="Column" GridLinesVisibility="Horizontal" AutoGenerateColumns="False">
2 <DataGrid.Columns>
3 <DataGridTextColumn Header="面值" Width="80" Binding="{Binding Value}">
4 </DataGridTextColumn>
5 <DataGridTextColumn Header="张数" Width="80" Binding="{Binding Count}"></DataGridTextColumn>
6 <DataGridTextColumn Header="金额" Width="*" Binding="{Binding Amount}"></DataGridTextColumn>
7 </DataGrid.Columns>
8 </DataGrid>
DataGrid列居中
列居中需要使用到了模板,但是列头的居中需要自己定义样式,数据的绑定方式和之前的一样也是通过Binding属性
1 <DataGrid Name="Cassetters" HeadersVisibility="Column" GridLinesVisibility="Horizontal" AutoGenerateColumns="False">
2 <DataGrid.Columns>
3 <DataGridTextColumn Header="面值" Width="50" Binding="{Binding Value}">
4 </DataGridTextColumn>
5 <DataGridTextColumn Header="张数" Width="50" Binding="{Binding Count}"></DataGridTextColumn>
6 <DataGridTextColumn Header="金额" Width="50" Binding="{Binding Amount}"></DataGridTextColumn>
7 <DataGridTemplateColumn Header="模板列" Width="*">
8 <DataGridTemplateColumn.HeaderStyle>
9 <Style TargetType="DataGridColumnHeader">
10 <Setter Property="HorizontalContentAlignment" Value="Center"></Setter>
11 </Style>
12 </DataGridTemplateColumn.HeaderStyle>
13 <DataGridTemplateColumn.CellTemplate>
14 <DataTemplate>
15 <TextBlock HorizontalAlignment="Center" Text="{Binding Amount}"></TextBlock>
16 </DataTemplate>
17 </DataGridTemplateColumn.CellTemplate>
18 </DataGridTemplateColumn>
19 </DataGrid.Columns>
20 </DataGrid>