有没有一种方法可以根据容器宽度将StackPanel方向从“水平”交换为“垂直”?

时间:2020-03-20 08:11:37

标签: c# wpf xaml

我当前在Grid中有两个固定大小的元素,水平放置。用户要求能够垂直拉伸容器并水平收缩容器,以使这两个元件垂直堆叠。我已经从网格交换到了StackPanel,但是我最后的障碍是改变方向。基本逻辑是:

    <StackPanel HorizontalAlignment="Center" Orientation="{Binding (ActualWidth < ActualHeight ? "Vertical" : "Horizontal")}">

如果这个问题过于含糊,我深表歉意,我仍然习惯于WPF!请让我知道是否需要其他详细信息来回答这个问题。

1 个答案:

答案 0 :(得分:1)

WrapPanel应该给您想要的行为。这是一个简单的示例:

<Grid>
    <WrapPanel HorizontalAlignment="Center">
        <Rectangle
            Width="200"
            Height="200"
            Fill="Red" />
        <Rectangle
            Width="200"
            Height="200"
            Fill="Blue" />
    </WrapPanel>
</Grid>