WPF - 多行TextBox文本在输入长文本时变得模糊

时间:2016-01-11 14:05:23

标签: c# wpf textbox blurry

我有一个在键入时垂直增长的文本框。不幸的是,当我输入一个长文本(例如一个3行文本)时,它的某些部分变得模糊。更重要的是,当我阻止它垂直生长并使其水平生长时,它的工作正常 - 文本很清晰。

我尝试了什么:

UseLayoutRounding = true;
RenderOptions.TextRenderingMode = "ClearType";

请忘记

TextOptions.TextFormattingMode = "Display"

它必须是“理想的”。

参见截图:

enter image description here enter image description here

3 个答案:

答案 0 :(得分:2)

禁用子像素渲染和抗锯齿。尝试

SetValue(RenderOptions.EdgeModeProperty, EdgeMode.Aliased);

答案 1 :(得分:1)

既然你提到过:

  

我有一个在输入

时垂直增长的文本框

我假设它是CustomControl来自TextBox并且自定义呈现垂直增长而不是使用内置文字包裹能力

由于我无法使用库存TextBox和您提到的参数(使用 Ideal )重现您的问题(我已经从Framework 4.0检查到4.6在VS 2013上),也许模糊来自您的自定义代码

那么,不使用内置包装?

TextWrapping="Wrap"

也许您应该包含更多代码和详细信息,例如框架版本,visual studio版本,操作系统版本等。

同样,指定您的版本"垂直增长的文本框"。类似this的内容?

答案 2 :(得分:1)

尝试增加文本框的字体大小(如果是像素,请使用1/4)。或者,尝试以类似的方式稍微改变线高。我认为这个问题可能归结为WPF对子像素的解释,可能会在错误的位置四舍五入。