gpt4 book ai didi

wpf - Gridsplitter 忽略列的最小宽度

转载 作者:行者123 更新时间:2023-12-04 01:48:01 31 4
gpt4 key购买 nike

我想要一个简单的 3 列网格,其中包含可调整大小的列和 80 的 MinWidth。

代码如下所示:

<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="120" MinWidth="80"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*" MinWidth="80"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="120" MinWidth="80"/>
</Grid.ColumnDefinitions>
<GridSplitter Grid.Column="1" Width="5" HorizontalAlignment="Center" />
<GridSplitter Grid.Column="3" Width="5" HorizontalAlignment="Center" />
</Grid>

但它并没有以我想要和预期的方式工作。当分离器被推到左边时,一切正常。当第二个分离器向右推时,一切正常。但是如果第一个拆分器被推到右边,它会将第三列和第二个拆分器推出网格(或使其宽度=0)。

我为 gridsplitters 使用了单独的列,就像在 msdn 示例中所做的那样:
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="Auto" />
<ColumnDefinition/>
</Grid.ColumnDefinitions>
...
<GridSplitter Grid.Column="1"
HorizontalAlignment="Center"
VerticalAlignment="Stretch"
Background="Black"
ShowsPreview="True"
Width="5"
/>

我还将对齐设置为居中,因为我在某处阅读正确对齐可能是一个问题
并尝试了不同的 ResizeBehaviors。

有谁知道,如何解决此问题,以便始终可见 3 列,宽度至少为 80 像素?

谢谢你的帮助

最佳答案

对于 minwidth 设置为 80 的三列,请尝试使用此方法。在使用 gridsplitters 时,请使用 * 而不是指定确切的宽度。

<ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Hidden">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*" MinWidth="80" />
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="*" MinWidth="80"/>
<ColumnDefinition Width="5"/>
<ColumnDefinition Width="*" MinWidth="80"/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="{Binding Path=ActualWidth, RelativeSource={RelativeSource Self}}" />
<GridSplitter Grid.Column="1" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Background="Red" />
<TextBlock Grid.Column="2" Text="{Binding Path=ActualWidth, RelativeSource={RelativeSource Self}}" />
<GridSplitter Grid.Column="3" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Background="Red" />
<TextBlock Grid.Column="4" Text="{Binding Path=ActualWidth, RelativeSource={RelativeSource Self}}" />
</Grid>
</ScrollViewer>

关于wpf - Gridsplitter 忽略列的最小宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3609735/

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