Dev*_*Dan 40 silverlight wpf checkbox xaml alignment
WPF CheckBox的外观使检查部分与标签(内容)部分不对齐.支票略高于内容,如下所示:

XAML看起来像这样:
<CheckBox Content="Poorly aligned CheckBox" Margin="9"/>
Run Code Online (Sandbox Code Playgroud)
CheckBox位于Grid单元格内.是否有一种简单的方法来制作内容并检查XAML CheckBox的部分垂直对齐?我尝试了各种属性组合而没有运气.我在这里看到了类似的问题,但答案太复杂了.
提前致谢.
编辑:问题是由我设置为14的Window FontSize引起的.要重新创建问题,请将CheckBox FontSize设置为14(或更多).我的程序是由工厂工人远程查看的,因此我允许用户增加或减少Window FontSize.
Maj*_*jid 56
我知道为时已晚,但这是一个更好的解决方案,没有设置利润.对于不同的高度TextBlock或不同,边距应设置不同Checkbox.
<CheckBox VerticalAlignment="Center" VerticalContentAlignment="Center">
<TextBlock Text="Well aligned Checkbox" VerticalAlignment="Center" />
</CheckBox>
Run Code Online (Sandbox Code Playgroud)
更新:
值得查看下面的@nmarler评论.
Mic*_*elS 26
编辑 - 新答案:(以前不好)
不是我相信的最好的方式,但可以做的工作:
<CheckBox>
<TextBlock Text="Poorly aligned CheckBox" Margin="0,-2,0,0"/>
</CheckBox>
Run Code Online (Sandbox Code Playgroud)
使用负边距推送内容,结果:

Fre*_*lad 15
一个默认的样式CheckBox在WPF中看起来不像那样.它在XP和Windows 7中完美对齐.您能否更好地描述如何重现此问题?
有两件事情我能想到的,以获得偏移,你看到的是要么改变Padding或VerticalContentAlignment.默认CheckBox的值VerticalContentAlignment是Top和一个CheckBox与Content已Padding设置"4,0,0,0".尝试改变这两个,看看它是否有任何区别.
这是一个比较

来自以下Xaml
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<CheckBox Grid.Row="0"
Content="Poorly aligned CheckBox" Margin="9" />
<CheckBox Grid.Row="1"
Content="Padding=4,4,0,0" Margin="9" Padding="4,4,0,0"/>
<CheckBox Grid.Row="2"
Content="Vertical Center" Margin="9"
VerticalContentAlignment="Center"/>
<CheckBox Grid.Row="3"
Content="Vertical Top" Margin="9"
VerticalContentAlignment="Top"/>
</Grid>
Run Code Online (Sandbox Code Playgroud)
有一个简单的解决方案,不需要为内容创建文本块,也不需要编写不需要的额外代码。只需使用“ VerticalContentAlignment”。例:
<CheckBox Content="Sample of Text" VerticalContentAlignment="Center"/>
Run Code Online (Sandbox Code Playgroud)