如何删除 WPF 中数据网格的额外右 header 和空格?

How do I remove the extra right header and whitespace for a datagrid in WPF?

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

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

    <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 以占用所有水平 space?

设置 AutoGenerateColumns="False"

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