【问题标题】:C# WPF: Blurred TextC# WPF:模糊文本
【发布时间】:2019-05-13 09:56:29
【问题描述】:

我是 C# WPF 的新手,正在处理其他人的代码。 (WPF 版本 3.0.6920.5011,来自HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0\Setup\Windows Presentation Foundation

我已经看过各种(相当老的)Stackoverflow 解决方案,但它们似乎与这个问题无关:WPF Blurry fonts issue- SolutionsText is blurred when transformed in WPF

WPF: Why does text and elements blur if I use dropshadow effect on a parent item 看起来很有趣,但没有应用于父母的阴影。

每当一个元素包含在另一个元素中时,我都会观察到这种“模糊”效果,并且随着包含的深入,它会越来越明显:

  • 设备标签的文字清晰易读
  • GlobalCommonInputs 选项卡的文本略微模糊
  • Inputs 内的窗格高度模糊。

由于公司规定,我无法提供 XAML 文件,但没有关于 ClearType、应用阴影或模糊效果的设置。

还有什么我可以检查的吗? 提前谢谢你

【问题讨论】:

  • 您是否尝试过类似this 的方法。这似乎是抗锯齿问题。
  • @Mateusz,我将UseLayoutRounding="True" 应用于主网格和各种元素,但没有任何改进。有没有办法将其设置为整个应用程序的默认属性?
  • 我知道你说的是there are no shadows applied to parents——但是看着图像,考虑到你在窗口层次结构中越低,模糊度就越大,请再检查一次。它几乎看起来像是相应选项卡/子选项卡/面板“上方”的透明层。
  • 随着深入,情况会变得更糟,这让我认为您可能会自动将样式应用于每个父级。
  • 解决了!将属性 UseLayoutRounding="True" 添加到顶级元素就足够了。请@Mateusz,将您的评论更改为答案,以便我投票。谢谢大家

标签: c# wpf text blur


【解决方案1】:

将此添加到您的顶级<Window> 标签:

TextOptions.TextFormattingMode="Display"

这是 10 年前在 a Microsoft post 上首次宣布的,令人惊讶的是,如今很少有人使用它。

【讨论】:

  • 谢谢。比以前好多了,但是用非模糊文本更新表单需要半秒钟。初始形式是模糊的。
  • 如果您还希望它不模糊线条和其他形状,请同时设置SnapsToDevicePixels="true"
猜你喜欢
  • 2017-05-18
  • 2014-07-04
  • 2014-05-21
  • 2011-05-09
  • 2014-05-22
  • 1970-01-01
  • 2012-01-03
  • 2014-02-27
  • 2016-04-15
相关资源
最近更新 更多