【发布时间】:2014-11-21 17:25:01
【问题描述】:
我的 WPF 应用程序中有几个按钮,其中包含 Unicode 字符。
I.E.
Button x:Name="Backspace" Content="←" FontSize="50" Click="Backspace_Click"
按钮内的 ← 渲染得很好......但只有当按钮高于某个高度时!一旦按钮变得太小,它就会突然停止使 ← 垂直居中并且它会离开按钮(如您所见,即使按钮较大,它仍然不能完美地居中 ←)
将按钮的VerticalContentAlignment 设置为Center 没有帮助,将其设置为Stretch 会导致← 随着按钮变高而向上移动。水平方向,← 居中就好了。
我使用的所有 unicode 字符都会出现这种情况。缩小字体大小会导致按钮变小时发生这种情况,反之亦然。
有什么我可以做的吗?也许使用按钮的自定义内容模板来使 unicode 字符更大,而不是使用大字体? unicode 字符是否没有报告其字形的正确高度或其他内容?如果我不能让它工作,我可能只是将 unicode 字符的图像推到按钮中,这将是......不幸的。
【问题讨论】:
-
注意高度是一样的。看起来你的利润给你带来了麻烦。你应该发布更多代码
-
对不起,我提到了箭头上方的高度
-
我注意到高度也是一样的。不涉及边距,按钮位于单元格高度 * 和宽度 * 的网格中,并且该网格位于另一个网格中的用户控件中,也具有 * 单元格宽度和高度
-
这可以通过创建一个空白窗口并在其中放置一个带有 unicode 字符的按钮来测试。调整按钮的大小,当按钮变得足够小时,您可以看到角色在按钮中向下移动。这似乎是默认行为。