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
或者您可以在富文本框中使用制表符。
我从多个字段创建了一个字符串,该字符串具有前导 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
或者您可以在富文本框中使用制表符。