我有一个在键入时垂直增长的文本框。不幸的是,当我输入一个长文本(例如一个3行文本)时,它的某些部分变得模糊。更重要的是,当我阻止它垂直生长并使其水平生长时,它的工作正常 - 文本很清晰。
我尝试了什么:
UseLayoutRounding = true;
RenderOptions.TextRenderingMode = "ClearType";
请忘记
TextOptions.TextFormattingMode = "Display"
它必须是“理想的”。
参见截图:
答案 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对子像素的解释,可能会在错误的位置四舍五入。