我启动一个新的WPF应用程序并将以下代码粘贴到MainWindow.xaml
<Canvas>
<TextBlock Text="Kammer 123"
MaxWidth="80"
Padding="5, 0"
TextWrapping="Wrap"
TextAlignment="Center" />
</Canvas>
预期的结果是左上角的TextBlock渲染“Kammer 123”,但我看到的只是“Kammer”。如果我将Text属性更改为“Kammer 1234”或“Kammer 12”或“Kammer abc”,则渲染是正确的。使用“Kammer 12345”文本正确包装。这是一个我不明白的错误或功能吗?
答案 0 :(得分:2)
非常有趣的错误!我可以确认你的结果。在Windows XP 32位,96 dpi时,“123”被切断,但其他序列正确呈现。在Windows 7 64位,120 dpi时,所有字符串都正确呈现。所以这确实是一个WPF文本布局错误,无论是96 dpi还是32位。
一些实验表明,填充线是罪魁祸首。删除该行或将水平填充减少为1,文本显示正确。另一种方法是使用Margin而不是Padding,这似乎有效。