【发布时间】: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 列之后没有额外的右标题或空格。您可能想像我一样从一个新项目开始,然后在添加数据时查看失败的地方。
-
嗯,感谢您查看。连接的模型以及我如何处理数据解析肯定是个问题。我会研究一下。