有没有办法让工具栏(库存/自定义)将所有按钮对齐到一侧,比如左侧?
我在工具栏上有 3 个按钮, a
, 。如果我动态隐藏,则和之间有明显的差距。我怎样才能拥有一个工具栏,它可以自动缩小两者之间的差距,但在再次可见时恢复顺序?b
c
b
a
c
a
c
b
谢谢!
信息
到目前为止,我已经尝试过<Toolbar />
, <Stackpanel />
,<DockPanel />
但它们没有对齐按钮。
你需要制作 bCollapsed
而不是Hidden
请参阅 MSDN UIElement.Visibility 属性:
在 WPF 模型中,隐藏表示对象不应呈现但仍应占用 WPF 布局中的空间的可见性状态。
更具体地说,正如@Nayan 指出的那样,可以参考Visibility Enumeration
:
- Collapsed 不显示元素,也不要在布局中为其保留空间。
- 隐藏不显示元素,但在布局中为元素保留空间。
- 可见 显示元素。
PS:这就是为什么BooleanToVisibilityConverter
:
Convert 方法在传入 true 时返回 Visibility.Visible,在传入 false 时返回 Visibility.Collapsed。
使用StackPanel
:
<StackPanel Orientation="Horizontal">
<Button Width="100" Click="Button_Click" />
<Button Width="100" Click="Button_Click" />
<Button Width="100" Click="Button_Click" />
<Button Width="100" Click="Button_Click" />
</StackPanel>
private void Button_Click(object sender, RoutedEventArgs e)
{
((Button)sender).Visibility = Visibility.Collapsed;
}