【问题标题】:Align label to the middle of dock panel将标签与停靠面板的中间对齐
【发布时间】:2012-10-30 15:49:55
【问题描述】:

我有一个停靠面板,中间有一个标签,最右边有另一个按钮。

由于按钮的原因,窗口最大化时标签无法居中对齐。

WPF:

<DockPanel Height="40" HorizontalAlignment="Stretch" Margin="-1,-2,0,0" Name="dockPanel1" VerticalAlignment="Stretch" Width="Auto" OpacityMask="{x:Null}">
            <Label FontSize="18" Content="Sales" FontWeight="Bold" FontFamily="Arial" Width="883" Height="42" HorizontalAlignment="Center" HorizontalContentAlignment="Center" Foreground="White" DockPanel.Dock="Left" VerticalAlignment="Center" VerticalContentAlignment="Center"></Label>
            <Button FontSize="18" Height="47" Width="123" Name="btnStart" Foreground="White" BorderBrush="{x:Null}" FlowDirection="LeftToRight" HorizontalContentAlignment="Center" FontFamily="Arial Rounded MT" ClickMode="Press" DockPanel.Dock="Right" HorizontalAlignment="Right" VerticalAlignment="Center" Padding="0" Content="Start" BorderThickness="0" Focusable="False">
        </DockPanel>

【问题讨论】:

  • DockPanel 不是这个合适的容器
  • 你试过做一个三列网格,把标签放在中间列的中间,把按钮放在右列的右边吗?
  • 我喜欢你的解决方案保罗。显然 DockPanel 不是对此的正确控制,但这不是正确的答案。它可能不是替换它的选项。

标签: wpf


【解决方案1】:

使用Grid 而不是DockPanel

网格允许将对象放置在彼此的顶部,因此您可以将标签放置在中间,将按钮放置在右侧

<Grid>
    <Label HorizontalAlignment="Center" VerticalAlignment="Center" />
    <Button HorizontalAlignment="Right" />
</Grid>

另外,如果您是 WPF 布局的新手,我建议您通读 WPF Layouts: A Quick Visual Start,以便了解可用的布局并选择最适合您的布局

【讨论】:

    猜你喜欢
    • 2014-02-19
    • 2013-11-24
    • 1970-01-01
    • 2017-07-13
    • 1970-01-01
    • 2013-10-15
    • 1970-01-01
    • 2018-09-24
    • 2021-03-22
    相关资源
    最近更新 更多