gpt4 book ai didi

DataGrid 周围的 WPF ScrollViewer 影响列宽

转载 作者:行者123 更新时间:2023-12-03 23:26:27 26 4
gpt4 key购买 nike

我使用 ScrollViewer 来滚动包含数据网格的用户控件时遇到问题。如果没有滚动查看器,列会根据需要填充数据网格,但是当添加滚动查看器时,列会缩小到 ~15px。我能够简化我的布局并且仍然可以重现这种行为。

当将数据网格宽度绑定(bind)到另一个控件时,列具有它们的正常值,但不出所料,这与数据网格上的固定宽度具有相同的效果。
我想我不是第一个遇到这个问题的人。如何解决此问题以使我的网格将其大小调整为可用空间并为其列提供比例宽度?

使用滚动查看器:
enter image description here
并且没有:
enter image description here

<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>

最佳答案

是的,我前段时间遇到过这个问题,我采取了一种解决方法,我会在这里发布以防万一

<ScrollViewer HorizontalScrollBarVisibility="Auto">
<Grid x:Name="grid" MinWidth="200">
<DataGrid Width="{Binding ElementName=grid, Path=ActualWidth}">
<DataGrid.Columns>
<DataGridCheckBoxColumn Header="Column A" Width="1*"/>
<DataGridCheckBoxColumn Header="Column B" Width="1*"/>
</DataGrid.Columns>
</DataGrid>
</Grid>
</ScrollViewer>

诀窍是给 DataGrid一个宽度,在这种情况下,我绑定(bind)回包含元素

或者,如果您不使用 HorizontalScrollBar您可以禁用它,这将允许 ScrollViewer计算允许 DataGrid 计算宽度的宽度。

关于DataGrid 周围的 WPF ScrollViewer 影响列宽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17875765/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com