如何垂直对齐复选框的复选框?

问题描述 投票:3回答:3

当您向窗口添加一个复选框并将其垂直居中时,从表面上看它似乎没问题。但是,当您增加填充时,您会发现奇怪的事情 - 复选框的标签部分确实居中,但复选框仍保留在左上角。所以有了足够的填充,你就会得到这样的结果

[ ]
     this is my checkbox

所以,问题是 - 如何正确对齐复选框的复选框?

编辑

<DockPanel>
      <StackPanel DockPanel.Dock="Top" Orientation="Horizontal">
        <CheckBox Name="XSwitchCheckBox" 
                  VerticalContentAlignment="Center" 
                  VerticalAlignment="Center" 
                  Padding="4">X-axis switch</CheckBox>
    </StackPanel>
    <Image DockPanel.Dock="Bottom" Name="pictureBox1"></Image>
</DockPanel>
c# wpf
3个回答
1
投票

复选框布局使用BulletDecorator Class完成。看起来您正在设置的填充应用于子弹子,而不是包含子弹和子项的容器。


2
投票

我无法重现您的问题。您是在设置Padding属性的All属性还是设置Left属性?您可能还想尝试调整Margin属性。

在我的小表单上使用左侧填充,我的复选框看起来像:

   [] checkbo
      x1

您也可以尝试,Padding="2,0,0,0",您应该看到整个复选框移动。我相信您的代码可能会将填充设置为大于可用空间的值。

希望这可以帮助您清除这一点。


0
投票

VerticalContentAlignment =“中心”为我工作。

注意:VerticalAlignment =“Center”不起作用,因为它引用控件本身,而不是控件的内容。

感谢Antoine Meltzheim的回答。

© www.soinside.com 2019 - 2024. All rights reserved.