首先转载 Gnie的文章:WPF 4 DataGrid 控件(自定义样式篇)
另外,补充:
DataGrid中的DataGridTextColumn有多个样式可以设置,包括:
CellStyle :单元格的样式,比如边框、背景、选中后的样式(利用触发器)。Cell表示单元格,Element表示单元格中的文本的空间(非编辑状态为TextBlock、编辑状态为TextBox)。
DragIndicatorStyle :---
EditingElementStyle :单元格中的内容在编辑的时候的样式,实质上在编辑的时候表现为TextBox,就是设置这个TextBox的样式。Cell表示单元格,Element表示单元格中的文本的空间(非编辑状态为TextBlock、编辑状态为TextBox)。
ElementStyle :单元格中的内容在非编辑状态下的样式,实质上这个时候表现为TextBlock,就是设置这个TextBlock的样式
HeaderStyle :列标题的样式
之前用Blend for Visual Studio 自动生成的副本样式,这些样式经过改动,怎么修改都没有任何反应。由于自动生成副本的时候,样式都是用 DynamicResource绑定到空间本身的,后来我直接把DynamicResource修改为StaticResouce,上面的样式就都能工作。
也不知道为什么用DynamicResource不行呢?始终没想明白。