WPF 文本框和空格

WPF TextBox and spaces

我从多个字段创建了一个字符串,该字符串具有前导 blanks/spaces 起诉 StringBuilder

当我将它导出到文本文件或什至将其一一插入 WPF TextBox 并在复制并粘贴到 Notepad.exe 或 Notepad++.exe 后,我看到了完美对齐的字段,那就是好的,因为前导空格。

但在 WPF TextBox(以及 WPF TextBlock 和 WPF RichTextBox 中)视觉上它变得一团糟。看看下面的屏幕截图,在顶部 TextBox 下方是 Notepad++。

知道为什么 WPF TextBox 不能很好地对齐字符吗? 我们能搞定吗?

XAML

 <TextBox x:Name="TbOutputFile"  IsReadOnly="True"   Foreground="Green" HorizontalAlignment="Stretch"  TextWrapping="NoWrap" HorizontalScrollBarVisibility="Visible"  VerticalScrollBarVisibility="Visible" />

您需要使用单声道 space 字体线 Consolas。在大多数字体中,所有字符的宽度都不相同。这将导致事情变得不一致。它是一个使用 monospace 字体的文本框。这是其中一些的列表。 https://www.google.com/search?q=monospace+font+list&ie=utf-8&oe=utf-8

或者您可以在富文本框中使用制表符。