WPF按钮不以Unicode字符为中心

Tra*_*mot 2 c# unicode wpf

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

IE

Button x:Name="Backspace" Content="←" FontSize="50" Click="Backspace_Click"
Run Code Online (Sandbox Code Playgroud)

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

不好! 在此输入图像描述

设置按钮的VerticalContentAlignment,以Center没有帮助,并把它置Stretch导致←向上移动的按钮变得更高.在水平方向上,←居中很好.

这与我使用的所有unicode字符一起发生.使字体较小会导致按钮较小时发生,反之亦然.

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

MKM*_*nty 5

使用填充..这应该做的伎俩

<Button x:Name="Backspace" Content="&#8592;" FontSize="50" Width="100" Height="50" VerticalContentAlignment="Center" Padding="0,-10,0,0"/>
Run Code Online (Sandbox Code Playgroud)

  • @TranquilMarmot它并没有超越你的想法,因为它只是一种解决它的hacky(某种硬编码)方式. (2认同)