【发布时间】:2020-03-20 22:42:05
【问题描述】:
我目前在一个网格中有两个固定大小的元素,水平布局。用户要求能够垂直拉伸容器并水平收缩它,以使这两个元素垂直堆叠。我已经从 Grid 切换到 StackPanel,但我的最后一个障碍是改变方向。基本逻辑是:
<StackPanel HorizontalAlignment="Center" Orientation="{Binding (ActualWidth < ActualHeight ? "Vertical" : "Horizontal")}">
如果这个问题过于含糊,我深表歉意,我还在习惯 WPF!如果回答此问题需要任何其他详细信息,请告诉我。
【问题讨论】:
-
更改
Orientation将改变实际大小,进而改变方向。您最终可能会得到无限闪烁的控制。查看custom panel,因为制作专门的容器可能是最干净的方法。 -
你考虑过
WrapPanel吗? -
如果你想坚持
StackPanel,要么写你自己的IValueConverter(使用我的整数到布尔作为例子mike.kozlowski.nl/…并将它变成方向的两倍)或使用QuckConverter(@987654323 @) - QuickConverter 不会为您提供设计时值。