gpt4 book ai didi

wpf - 在 Wpf 网格中使用 SharedSizeGroup 和 ColumnSpan

转载 作者:行者123 更新时间:2023-12-04 19:50:38 26 4
gpt4 key购买 nike

当我在列上同时使用 SharedSizeGroup 和列跨越控件创建网格时,网格会“精神上”晃动并使 cpu 内核达到最大。

我敢肯定一定有一个很好的理由说明为什么这行不通,但我想不出!我还能如何实现这种尺寸布局?

<Grid IsSharedSizeScope="True">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" SharedSizeGroup="Columns"/>
<ColumnDefinition Width="Auto" SharedSizeGroup="Columns"/>
</Grid.ColumnDefinitions>

<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>

<Label Grid.Column="0">Blah</Label>
<Label Grid.Column="1">Blah Blah Blah Blah</Label>

<Label Grid.Row="1" Grid.ColumnSpan="2">ajsgdeererajgsfdg dfg df gdfg djgsad</Label>
</Grid>

最佳答案

您所做的基本上是在您的布局中设置无限递归。

  • 要共享大小,列首先需要计算自己的大小。
  • 然后他们可以根据较大的(可能是此处的第 1 列)。
  • 在第 0 列扩展以匹配之后第一列的大小,第三个标签可以现在在列中使用更多空间
  • 当它移动列时,它的空间列 1 中的需求变小,允许第 1 列缩小到匹配其所需的新空间内容。
  • 第 1 列现在重新计算其大小(从第一步重新开始)

SharedSizeGroup 旨在跨不同的网格使用,以保持以某种方式分离到不同容器中的元素对齐,例如不同的模板化列表项或标题行。如果您需要一个未拉伸(stretch)的等分行,您可以使用其他东西,例如 * 大小的列或 UniformGrid。

<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>

<UniformGrid Rows="1" HorizontalAlignment="Left">
<Label >Blah</Label>
<Label >Blah Blah Blah Blah</Label>
</UniformGrid>

<Label Grid.Row="1">ajsgdeererajgsfdg dfg df gdfg djgsad</Label>
</Grid>

关于wpf - 在 Wpf 网格中使用 SharedSizeGroup 和 ColumnSpan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4880184/

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