2

有没有办法让工具栏(库存/自定义)将所有按钮对齐到一侧,比如左侧?

我在工具栏上有 3 个按钮, a, 。如果我动态隐藏,则和之间有明显的差距。我怎样才能拥有一个工具栏,它可以自动缩小两者之间的差距,但在再次可见时恢复顺序?bcbacacb

谢谢!

信息

到目前为止,我已经尝试过<Toolbar />, <Stackpanel /><DockPanel />但它们没有对齐按钮。

4

2 回答 2

3

你需要制作 bCollapsed而不是Hidden

请参阅 MSDN UIElement.Visibility 属性

在 WPF 模型中,隐藏表示对象不应呈现但仍应占用 WPF 布局中的空间的可见性状态。

更具体地说,正如@Nayan 指出的那样,可以参考Visibility Enumeration

  • Collapsed 不显示元素,也不要在布局中为其保留空间。
  • 隐藏不显示元素,但在布局中为元素保留空间。
  • 可见 显示元素。

PS:这就是为什么BooleanToVisibilityConverter

Convert 方法在传入 true 时返回 Visibility.Visible,在传入 false 时返回 Visibility.Collapsed。

于 2013-09-02T09:30:10.507 回答
1

使用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;
}
于 2013-09-02T09:23:55.590 回答