WPF按钮不以Unicode字符为中心

时间:2014-09-26 16:17:49

标签: c# wpf unicode

我的WPF应用程序中有几个按钮,其中包含Unicode字符。

Button x:Name="Backspace" Content="←" FontSize="50" Click="Backspace_Click"

按钮里面的←渲染得很好......但只有当按钮高于一定高度时!一旦按钮变得太小,它就会突然停止←的垂直居中,它会从按钮上移开(正如你所看到的,即使按钮较大,它仍然不能完全居中于←)

No good! enter image description here

将按钮的VerticalContentAlignment设置为Center无效,将其设置为Stretch会使←随着按钮变高而向上移动。在水平方向上,←居中很好。

我使用过的所有unicode字符都会发生这种情况。使字体较小会导致按钮较小时发生,反之亦然。

我能做些什么吗?也许使用按钮的自定义内容模板来使unicode字符更大,而不是使用大字体? unicode字符是否未报告其字形或其他内容的正确高度?如果我不能让它工作,我可能最终会把unicode字符的图像推入按钮,这将是......不幸。

1 个答案:

答案 0 :(得分:5)

使用填充......这应该可以解决问题

<Button x:Name="Backspace" Content="&#8592;" FontSize="50" Width="100" Height="50" VerticalContentAlignment="Center" Padding="0,-10,0,0"/>