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

mainWindowSrc.CompositionTarget.BackgroundColor = Colors.Transparent;


为了使其能够与AeroGlass一起使用,我必须将这些.NET 4.0属性设置为每个包含文本的控件:

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

然后看起来像这样:



有没有一种方法可以在不为窗口上的每个控件设置这些属性的情况下达到相同的效果?

谢谢。

最佳答案

您可以在MainWindow构造函数中进行全局设置。
像这样:

RenderOptions.ClearTypeHintProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata { DefaultValue = ClearTypeHint.Enabled });
TextOptions.TextFormattingModeProperty.OverrideMetadata(typeof(FrameworkElement), new FrameworkPropertyMetadata { DefaultValue = TextFormattingMode.Display });

关于c# - 使用AeroGlass时WPF中的ClearType,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14076449/

10-09 19:57