【问题标题】:How to get rid of a WPF Datagrid extra space (row?) at the bottom?如何摆脱底部的 WPF Datagrid 额外空间(行?)?
【发布时间】:2012-06-27 13:18:46
【问题描述】:

我有这个数据网格,有时它会在底部显示那个可怕的灰色空间,它甚至似乎没有要显示的模式......有时它在那里,有时它不存在。 我已经尝试将 CanUserAddRows 设置为 false,但它没有修复它。 它也不是我收藏中的额外项目,我只是用调试器检查了它。 我真的需要消除这种行为,有什么想法吗?

<DataGrid x:Name="NotesDataGrid" ItemsSource="{Binding Notes, UpdateSourceTrigger=PropertyChanged}" Margin="0" Height="Auto" AutoGenerateColumns="False" CanUserAddRows="False" RowHeaderWidth="0" 
                  GridLinesVisibility="All" HorizontalGridLinesBrush="#FFF7F7F7" VerticalGridLinesBrush="#FFF7F7F7" Padding="0"
                  AlternatingRowBackground="#FFFBFBFB" ColumnHeaderStyle="{DynamicResource dgColumnHeaderStyle}" CellStyle="{DynamicResource dgCellStyle}" RowStyle="{DynamicResource dgRowStyle}" LostFocus="NotesDataGrid_LostFocus">

【问题讨论】:

  • 没有一个解决方案有效 :(

标签: wpf datagrid row space


【解决方案1】:

我遇到了同样的问题,这是由DataGridMaxHeight 属性未设置为行大小的倍数引起的,因此剩余空间显示在DataGrid 的底部.例如:如果有 5 行高度为 10 像素,并且 MaxHeight 属性设置为 55,那么底部将有 5 像素的空间。

【讨论】:

    【解决方案2】:

    将您的 DataGrid 包装在 Grid 中并尝试 DataGrid.VerticalAlignment="Top"

      <Grid><DataGrid VerticalAlignment="Top" ... /></Grid>
    

    【讨论】:

    • 是的,我也试过了,但没有解决问题。
    • 至少我发现导致空间的原因是 DataContext 类型的变化,这些注释适用于各种对象类型,如果我在相同类型的对象之间移动它不会调整大小,但无论何时我换了另一种类型,它显示了可怕的灰色行...
    【解决方案3】:

    您是否尝试将 DataGrid.Background 设置为白色?

    【讨论】:

    • 这对我不起作用,因为我在这个数据网格下有一个按钮,我不希望用户看到按钮奇怪地四处移动......
    【解决方案4】:

    我知道这个问题已经很久没有提出来了。但无论如何我遇到了同样的问题,我可以通过设置 Datagrid 的属性来解决它。

    IsReadOnly="True"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-19
      • 1970-01-01
      • 2010-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-14
      • 2011-04-21
      相关资源
      最近更新 更多