【问题标题】:How do I remove the extra right header and whitespace for a datagrid in WPF?如何删除 WPF 中数据网格的额外右标题和空格?
【发布时间】:2021-09-22 22:14:54
【问题描述】:

我刚刚开始使用 WPF 并使用 DataGrid 来存储从 CSV 文件导入的信息。这是导入一些数据后的样子:

红色圈出的部分是我要删除的区域,因为如果可能的话,我希望网格完全向右伸展。我已经设置了HorizontalAlignment="Stretch"ColumnWidth="*",所以我不确定为什么会出现这个额外的右边距。这是我的 XAML 文件的部分供参考。移除 gridsplitter 和 stack 面板似乎对这个额外的部分没有任何影响。

    <Grid Grid.Row="1">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" MinWidth="100" />
            <ColumnDefinition Width="5" />
            <ColumnDefinition Width="*" MinWidth="100" />
        </Grid.ColumnDefinitions>
    
        <DataGrid x:Name="TestGrid"
                  AutoGenerateColumns="True"
                  ColumnWidth="*"
                  ItemsSource="{Binding}"
                  HeadersVisibility="Column"
                  HorizontalAlignment="Stretch"
                  GridLinesVisibility="All" />
    
        <GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Stretch" />
    
        <ui:SimpleStackPanel Grid.Column="2" Margin="8,5,0,0">
                <Button x:Name="btnAdd"
                        Content="Add File"
                        Margin="0,5,0,0"
                        Style="{StaticResource AccentButtonStyle}"
                        Click="ButtonAddName_Click" />
        </ui:SimpleStackPanel>
    </Grid>

如何更改我的 DataGrid 以占用所有水平空间?

【问题讨论】:

  • 你做得对。我将您的代码放入一个新项目中,它按预期工作,这意味着 Bundle 列之后没有额外的右标题或空格。您可能想像我一样从一个新项目开始,然后在添加数据时查看失败的地方。
  • 嗯,感谢您查看。连接的模型以及我如何处理数据解析肯定是个问题。我会研究一下。

标签: c# wpf layout datagrid


【解决方案1】:

设置 AutoGenerateColumns="False"

【讨论】:

    【解决方案2】:

    哎呀,我想通了。 “问题”出在 ModernWPF UI 库上:我意识到我没有测试添加的行数超过了屏幕上的容量,因为为出现的滚动条保存了额外的间距。对于其他有同样困惑的人,据我所知,这个额外的空间无法删除。对于默认 WPF,滚动条不会占用空间,直到它作为不想要间距的选项出现。

    【讨论】:

      猜你喜欢
      • 2013-07-08
      • 1970-01-01
      • 2011-04-10
      • 2021-09-29
      • 1970-01-01
      • 2017-02-07
      • 1970-01-01
      • 2022-11-25
      • 2022-01-23
      相关资源
      最近更新 更多