gpt4 book ai didi

WPF - 具有三列的 GridSplitter

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

我有一个带有 3 列网格的应用程序。第一列和第二列之间的网格拆分器工作得很好。为了让分流器位于第二列和第三列之间,我为分流器创建了一个列。 (所以现在第三列实际上是第四列。)

当我调整其他列的大小时,它也会缩小。我认为这是因为我将它们设置为相对大小。但我不知道如何修复它。

这是我的问题的 XAML Pad Ready 示例。将其插入 XAML pad,然后尝试将最后一列的大小调整为更小。

<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<StackPanel Background="#feca00" Grid.Column="0">
<TextBlock FontSize="35" Foreground="#58290A"
TextWrapping="Wrap">Left Hand Side</TextBlock>
</StackPanel>
<GridSplitter Width="10" />
<Border CornerRadius="10" BorderBrush="#58290A"
BorderThickness="5" Grid.Column="1">
<TextBlock FontSize="25" Margin="20" Foreground="#FECA00"
TextWrapping="Wrap">Right Hand Side</TextBlock>
</Border>
<GridSplitter Grid.Column="2" HorizontalAlignment="Right" VerticalAlignment="Stretch" Width="5"></GridSplitter>
<TabControl Grid.Column="3" Name="tabControl1">
<TabItem Header="Add Links" Name="tabAddLinks">
<Grid></Grid>
</TabItem>
</TabControl>
</Grid>
</Page>

谢谢您的帮助!

编辑:
有人建议将两个分离器放在各自的列中可能会修复它。我试过了,现在第一个拆分器也像第二个拆分器一样缩小列。

这是该示例的 XAML Pad 代码:
<Page
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="1*" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="1*" />
</Grid.ColumnDefinitions>
<StackPanel Background="#feca00" Grid.Column="0">
<TextBlock FontSize="35" Foreground="#58290A"
TextWrapping="Wrap">Left Hand Side</TextBlock>
</StackPanel>
<GridSplitter Grid.Column="1" HorizontalAlignment="Right" VerticalAlignment="Stretch" Width="5"></GridSplitter>
<Border CornerRadius="10" BorderBrush="#58290A"
BorderThickness="5" Grid.Column="2">
<TextBlock FontSize="25" Margin="20" Foreground="#FECA00"
TextWrapping="Wrap">Right Hand Side</TextBlock>
</Border>
<GridSplitter Grid.Column="3" HorizontalAlignment="Right" VerticalAlignment="Stretch" Width="5"></GridSplitter>
<TabControl Grid.Column="4" Name="tabControl1">
<TabItem Header="Add Links" Name="tabAddLinks">
<Grid></Grid>
</TabItem>
</TabControl>
</Grid>
</Page>

最佳答案

尝试设置 HorizontalAlignment="Center"对于两个分离器 - 不知道为什么将它设置为“正确”会导致行为变得如此糟糕,但改变它对我有用:)

关于WPF - 具有三列的 GridSplitter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1894937/

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