WPF 如何将右侧的按钮与 x 个按钮对齐

标签 wpf

我正在尝试对齐停靠面板右侧的按钮,但我根据特定标准隐藏和显示按钮。我需要如何根据显示的内容正确证明。目前我正在使用这个:

    <DockPanel HorizontalAlignment="Stretch" Height="34" Margin="0,0,2,35" VerticalAlignment="Bottom">
        <Button DockPanel.Dock="Right" Height="23" x:Name="btnOne" Click="btnOne_Click" Margin="0,0,5,5" VerticalAlignment="Bottom" HorizontalAlignment="Right" Width="Auto">
            <TextBlock x:Name="txtBtnOneText" />
        </Button>
        <Button DockPanel.Dock="Right" Height="23" Width="Auto" x:Name="btnTwo" Visibility="Hidden" Click="btnTwo_Click" HorizontalAlignment="Right" Margin="0,0,5,5" VerticalAlignment="Bottom">
            <TextBlock x:Name="txtBtnTwoText" />
        </Button>
    </DockPanel>

当我只显示按钮 btnOne 时,我希望它右对齐,当我只显示 btnTwo 时,我希望它右对齐,或者当我同时显示它们时,我希望 btnOne 在最右边,btnTwo 为 5px在 btnOne 的左边。

谢谢!

最佳答案

而不是dockpanel尝试使用这样的stackpanel -

        <StackPanel Grid.Row="0" Orientation="Horizontal">
            <Button x:Name="btn1" Content="btn1" Height="34" />
            <Button x:Name="btn2" Margin="5,0,0,0" Content="btn2" Height="34" />
        </StackPanel>

当您想要隐藏一个按钮时,只需将按钮的可见性设置为折叠而不是隐藏,它不会占用为其保留的空间。而如果您将可见性设置为隐藏,它将不会显示在 UI 上,但它仍会占用为其保留的空间。

关于WPF 如何将右侧的按钮与 x 个按钮对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5832119/

相关文章:

c# - 如何获取选中的 ListView 项?

c# - PropertyChanged 影响多个属性

c# - 在代码中设置静态资源

wpf - Visual Studio WPF 窗口在运行时缩小?

c# - 如何访问动态按钮的事件处理程序? Visual Studio 2015 WPF

wpf - 使用 powershell 显示一个小 wpf 表单

c# - 在运行时创建复杂的用户控件而不卡住 GUI

wpf - 尽管样式,ComboBoxItem 继续抛出绑定(bind)错误

c# - Entity Framework 5 : One to Many with foreignKey Updated/Added/Deleted

c# - 从另一个线程更改 viewmodel 属性