gpt4 book ai didi

c# - Gridsplitter:将行高限制为窗口大小

转载 作者:太空狗 更新时间:2023-10-29 21:45:15 28 4
gpt4 key购买 nike

我刚开始尝试使用 gridsplitter 并偶然发现了一个非常奇怪的行为,我似乎无法修复它。显然其他人也有类似的问题(根据谷歌),但没有任何有用的评论。

我有一个包含 2 行的网格。启动时,底部的 Hight 为 250。顶行采用 * 的其余部分。当我使用拆分器调整行大小时,行为与顶行的预期一致。但是当我向上拖动拆分器并经过程序窗口时,底行的内容会从窗口中掉出(=向下移动直到消失)。我希望我不能使每一行都大于父容器。

<Grid x:Name="grid_main" ScrollViewer.VerticalScrollBarVisibility="Disabled" >
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition MinHeight="250" Height="250"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<GridSplitter x:Name="splitter"
ResizeDirection="Rows" Grid.Column="0" Grid.ColumnSpan="1" Grid.Row="0" Width="Auto"
Height="5" HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="0" ResizeBehavior="BasedOnAlignment" />
<Grid Grid.Column="0" Grid.Row="0">
</Grid>
<Grid Grid.Column="0" Grid.Row="1">
</Grid>
</Grid>

这是我的代码。两行的内容再次托管在网格中,为简单起见已将其删除。再次:调整顶行的大小效果很好。但底行可以调整到无穷大。如果我对 MaxHeight 进行硬编码,它会按预期工作。但这必须取决于窗口大小。

最佳答案

尝试将您的第二个 RowDefinition 更改为以下内容:

<RowDefinition MinHeight="250" MaxHeight="{Binding ElementName=grid_main, Path=ActualHeight}" Height="250"/>

这将确保行高不会超过窗口大小。

关于c# - Gridsplitter:将行高限制为窗口大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16851801/

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