WPF DataGrid 表格样式怎么实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF DataGrid 表格样式怎么实现相关的知识,希望对你有一定的参考价值。

这里介绍三种哈:
最简单的就是直接在绑定里做数据的格式化处理
例: <DataGridTextColumn Binding="Binding Path=字段, StringFormat=\0:D\"/>
如果数据的显示是些带有逻辑判断的话或者重用性很高的话,就要用到转换器Converter,例子网上有很多的。
还有,可能你想在datagrid的某一列里显示不止一个字段的值,那就可以选用模板列。
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="Binding Path=字段1"/>
<TextBlock Text="Binding Path=字段2"/>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
参考技术A 有现成的控件,你是要自己写这个控件?

WPF的DataGrid列头和行头相交的单元格怎么修改样式和填充文字

参考技术A  从可视树种能看出,那个区域只有一个Button 是用来做全选的,所以我们只有通过修改DataGrid的默认模板来实现你的效果:

  首先看下DataGrid的默认模板:

  <ControlTemplate TargetType="DataGrid">
  <Border Background="TemplateBinding Control.Background" BorderBrush="TemplateBinding Control.BorderBrush" BorderThickness="TemplateBinding Control.BorderThickness" Padding="TemplateBinding Control.Padding" SnapsToDevicePixels="True">
  <ScrollViewer Focusable="False" Name="DG_ScrollViewer">
  <ScrollViewer.Template>
  <ControlTemplate TargetType="ScrollViewer">
  <Grid>
  <Grid.ColumnDefinitions>
  <ColumnDefinition Width="Auto" />
  <ColumnDefinition Width="*" />
  <ColumnDefinition Width="Auto" />
  </Grid.ColumnDefinitions>
  <Grid.RowDefinitions>

以上是关于WPF DataGrid 表格样式怎么实现的主要内容,如果未能解决你的问题,请参考以下文章

WPF-动态生成DataGrid

wpf怎样使用DataGrid控件

怎么改变WPF中DataGrid的行样式

WPF中Grid实现网格,表格样式通用类(转)

WPF的DataGrid列头和行头相交的单元格怎么修改样式和填充文字

WPF的DataGrid列头和行头相交的单元格怎么修改样式和填充文字