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

时间:2010-09-28 08:18:04

标签: c# wpf

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

[ ]
     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>

3 个答案:

答案 0 :(得分:2)

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

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

   [] checkbo
      x1

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

希望这有助于你清除这一点。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

VerticalContentAlignment =“ Center”为我工作。

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

感谢安东尼·梅尔茨海姆(Antoine Meltzheim)的回答。