c# - WPF 按钮未将 Unicode 字符居中

标签 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 字符的图像插入按钮,这将是......不幸的。

最佳答案

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

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

关于c# - WPF 按钮未将 Unicode 字符居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26063979/

相关文章:

c# - 将 C++ 函数转换为 C#(字符串问题)

c# - 如何扩展 MVC 4 Web Api 和 Entity Framework

c# - XNA 如何创建单独的 ContentManager?

c# - 在 C# 中创建一个空的 BitmapSource

c# - 如何从 FileStream 报告进度

html - 在纯文本 div 中插入新行

unicode - 如何破解 GHCi(或 Hugs)以便打印未转义的 Unicode 字符?

Ruby:转义 unicode 字符串

c# - 如何检测当前登录用户是否正在运行进程?

wpf - 如何使用 WPF 数据绑定(bind)处理外键?