1

我在设置 WPF Datagrid 的样式时遇到问题,我设置了列标题(ColumnHeader 类型)的样式。

但是当列中的数据没有填满网格的整个宽度时,会添加一个额外的列来填充网格。该列忽略了 ColumnHeader 样式并且看起来不合适,大概是因为该元素具有不同的类型,我在对象浏览器中查看了库,但找不到该元素。我也考虑过修正尺寸,所以这个专栏是不必要的,但这不是一个可行的选择。

以下文章演示了该问题:http: //blogs.msdn.com/jaimer/archive/2009/01/20/styling-microsoft-s-wpf-datagrid.aspx 我的意思是右上角的元素,就在绿色第 3 列的右侧,就在带有行背景箭头的单元格上方。

4

2 回答 2

0

这似乎已在最新版本的网格中修复

于 2010-05-21T15:24:24.940 回答
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>

样本

于 2010-05-18T14:37:59.113 回答