我遇到了WPF Datagrid样式的问题,我设计了列标题(类型为ColumnHeader)。
但是当列中的数据没有填满网格的整个宽度时,会添加一个额外的列来填充网格。这个列忽略了ColumnHeader样式并且看起来不合适,因为该元素具有不同的类型,我在对象浏览器中查看了库,但是我找不到这个元素。我也考虑过修改尺寸,所以这个专栏是不必要的,但这不是一个可行的选择。
以下文章说明了这个问题:http://blogs.msdn.com/jaimer/archive/2009/01/20/styling-microsoft-s-wpf-datagrid.aspx 我所说的元素位于右上方,就在绿色列3的右侧,正好在具有行背景箭头的单元格的上方。
答案 0 :(得分:0)
将最后一列的Width
设置为*,以使列填充剩余的可用空间。您的样式仍然适用,并且您不会留下该填充列
<toolkit:DataGrid>
<toolkit:DataGrid.Resources>
<Style TargetType="{x:Type toolkit:DataGridColumnHeader}" >
<Setter Property="Foreground" Value="Red" />
</Style>
</toolkit:DataGrid.Resources>
<toolkit:DataGrid.Columns>
<toolkit:DataGridTextColumn Header="1" />
<toolkit:DataGridTextColumn Header="2" Width="*" />
</toolkit:DataGrid.Columns>
</toolkit:DataGrid>
答案 1 :(得分:0)
这似乎已在最新版本的网格中修复