【问题标题】:WPF - Multiline TextBox text gets blurry while typing a long textWPF - 多行文本框文本在输入长文本时变得模糊
【发布时间】:2016-04-15 20:59:27
【问题描述】:

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

我尝试过的:

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

请忘记

TextOptions.TextFormattingMode = "Display"

它必须是“理想的”。

查看截图:

【问题讨论】:

  • 看看这个答案:WPF Blurry fonts issue- Solutions
  • 那里似乎没有什么对我有用。
  • 请包含足够的代码来重现该问题。这是否特定于某个版本的 Windows、.net 版本、软件或硬件渲染、视频卡等?
  • 如果你想保持理想,可能没有办法。您可以尝试所有组合(TextRenderingMode、TextFormattingMode、ClearTypeHint、SnapToDevicePixels),并且文本的大小也很重要。这篇“根”文章很好地说明了一切:blogs.msdn.com/b/text/archive/2009/08/24/…

标签: c# wpf textbox blurry


【解决方案1】:

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

SetValue(RenderOptions.EdgeModeProperty, EdgeMode.Aliased);

【讨论】:

    【解决方案2】:

    既然你提到了:

    我有一个文本框在输入时垂直增长

    我假设它是从TextBox 派生的CustomControl,并且具有自定义渲染 以垂直增长,而不是使用内置文本换行能力。 p>

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

    顺便说一句,不使用内置包装?

    TextWrapping="Wrap"
    

    也许你应该包含更多的代码和细节,比如框架版本、Visual Studio 版本、操作系统版本等等。

    同样,指定您的“垂直增长的文本框”版本。 this 之类的东西?

    【讨论】:

      【解决方案3】:

      尝试稍微增加文本框的字体大小(如果以像素为单位,则使用 1/4s)。或者,尝试以类似的方式稍微改变行高。我认为问题可能在于 WPF 对子像素的解释,并且可能在错误的地方四舍五入。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-22
        • 1970-01-01
        • 2017-05-18
        相关资源
        最近更新 更多