【问题标题】:ClearType in WPF when using AeroGlass使用 AeroGlass 时 WPF 中的 ClearType
【发布时间】:2012-12-29 06:57:14
【问题描述】:

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

mainWindowSrc.CompositionTarget.BackgroundColor = Colors.Transparent;

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

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

然后它看起来像这样:

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

谢谢。

【问题讨论】:

    标签: c# .net wpf aero


    【解决方案1】:

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

    类似这样的:

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

    【讨论】:

    • 谢谢,成功了!但是这段代码可以移动到其他地方吗?我想把它放在我的 AeroGlass 课上。
    猜你喜欢
    • 2013-11-01
    • 2020-07-11
    • 2023-03-26
    • 1970-01-01
    • 2018-06-14
    • 2011-07-07
    • 2011-02-28
    • 1970-01-01
    • 2016-05-15
    相关资源
    最近更新 更多