2

每当我在 WPF 应用程序中使用 AeroGlass 时,ClearType 的行为都会变得很奇怪。我发现以下行将我的字体渲染设置回灰度:

mainWindowSrc.CompositionTarget.BackgroundColor = Colors.Transparent;

为了让它重新与 AeroGlass 一起工作,我必须将这些 .NET 4.0 属性设置为每个包含文本的控件:

RenderOptions.ClearTypeHint="Enabled" TextOptions.TextFormattingMode="Display" TextOptions.TextRenderingMode="ClearType"

然后它看起来像这样:

左边是灰度,右边是cleartype

有没有办法在不为窗口上的每个控件设置这些属性的情况下实现相同的效果?

谢谢。

4

1 回答 1

3

您可以在 MainWindows 构造函数中全局设置它。

像这样的东西:

RenderOptions.ClearTypeHintProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata { DefaultValue = ClearTypeHint.Enabled });
TextOptions.TextFormattingModeProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata { DefaultValue = TextFormattingMode.Display });
于 2012-12-28T22:57:14.807 回答