我使用 ScrollViewer 来滚动包含数据网格的用户控件时遇到问题。如果没有滚动查看器,列会根据需要填充数据网格,但是当添加滚动查看器时,列会缩小到 ~15px。我能够简化我的布局并且仍然可以重现这种行为。
当将数据网格宽度绑定到另一个控件时,列具有它们的正常值,但不出所料,这与数据网格上的固定宽度具有相同的效果。我想我不是第一个遇到这个问题的人。如何解决此问题以使我的网格将其大小调整为可用空间并为其列提供比例宽度?
使用滚动查看器: 和不使用:
<Window x:Class="GridTest.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<ScrollViewer HorizontalScrollBarVisibility="Auto">
<Grid MinWidth="200">
<DataGrid Margin="0" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="Column A" Width="*"/>
<DataGridCheckBoxColumn Header="Column B" Width="*"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</ScrollViewer>