gpt4 book ai didi

silverlight - 定义剪切 Silverlight 网格控件行的顺序

转载 作者:行者123 更新时间:2023-12-04 20:46:14 25 4
gpt4 key购买 nike

我正在使用 Grid - 像这样控制:

<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="10"></RowDefinition>
<RowDefinition Height="10"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="10"></RowDefinition>
</Grid.RowDefinitions>

<Rectangle Grid.Row="0" Fill="Red"></Rectangle>
<Rectangle Grid.Row="1" Fill="Green"></Rectangle>
<Rectangle Grid.Row="2" Fill="Yellow"></Rectangle>
<Rectangle Grid.Row="3" Fill="Gray"></Rectangle>
</Grid>

假设网格的高度为 50 像素。显然,行的高度将为 10、10、20 和 10 像素。

现在假设网格的高度是 29 像素。在这种情况下,高度将是 10、10、0 和 9 像素,意味着最后一行被裁剪。

有没有办法分配行将被剪裁的顺序?例如,我希望网格开始裁剪第二行(带有绿色矩形的行)而不是最后一行,这样网格高度为 29 像素时,行的高度将为 10, 9 , 0 和 10 像素。

最佳答案

[下载工具包here ]

这是哪里DockPanel来救援(这是用 WPF 编写的,但在使用工具包的 SL 中应该类似地工作,只需添加正确的 xmlns):

<DockPanel>
<Rectangle DockPanel.Dock="Top"
Height="10"
Fill="Red" />
<Rectangle DockPanel.Dock="Bottom"
Height="10"
Fill="Gray" />
<Rectangle DockPanel.Dock="Top"
Height="10"
Fill="Green" />
<Rectangle Fill="Yellow" />
</DockPanel>

一些注意事项:
  • 如果您需要多个 - 在某些情况下另一个内部 DockPanel,这将仅适用于一个带星号的行/列可能会有所帮助,但并非总是如此。
  • 我保留了这些矩形的视觉顺序,但代码中的位置发生了变化 - DockPanel将首先剪辑它的最后一个 child ,然后是倒数第二个,依此类推,直到第一个 child 。 child 的顺序非常重要而且不是很直观,注意每个 child 的顺序是DockPanel.Dock环境。
  • DockPanel确实是布局系统的无名英雄。 :)

  • 编辑以回答第一条评论:

    您在评论中只提到了红色和绿色矩形,所以我猜黄色仍然占据所有可用高度(星形行),但我不确定灰色矩形。基于此,我找到了两个选项。

    对于黄色 -> 红色 -> 绿色 -> 灰色的剪辑顺序:
    <DockPanel>
    <Rectangle DockPanel.Dock="Bottom"
    Height="10"
    Fill="Gray" />
    <DockPanel DockPanel.Dock="Top">
    <Rectangle DockPanel.Dock="Bottom"
    Height="10"
    Fill="Green" />
    <Rectangle DockPanel.Dock="Top"
    Height="10"
    Fill="Red" />
    </DockPanel>
    <Rectangle Fill="Yellow" />
    </DockPanel>

    对于黄色 -> 灰色 -> 红色 -> 绿色的剪辑顺序:
    <DockPanel>
    <DockPanel DockPanel.Dock="Top">
    <Rectangle DockPanel.Dock="Bottom"
    Height="10"
    Fill="Green" />
    <Rectangle DockPanel.Dock="Top"
    Height="10"
    Fill="Red" />
    </DockPanel>
    <Rectangle DockPanel.Dock="Bottom"
    Height="10"
    Fill="Gray" />
    <Rectangle Fill="Yellow" />
    </DockPanel>

    黄色 -> 红色 -> 灰色 -> 绿色的剪辑顺序,我现在没有答案。这更具挑战性,如果您需要,请告诉我。

    关于silverlight - 定义剪切 Silverlight 网格控件行的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17611674/

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