为什么我的WPF 4.5应用程序中的某些文本仍然模糊不清?

时间:2015-04-08 14:54:04

标签: wpf user-interface modern-ui wpf-4.5

我不明白。我疯了 - 不管我做什么,我的WPF应用程序中的文字都很模糊。好吧,其中一些 - 其中一个文本元素是聚焦的,关闭/最小化按钮也是如此。我已将TextOptions.TextRenderingMode="ClearType"TextOptions.TextFormattingMode="Display"直接应用于元素,我也尝试将其应用于MainWindow.xaml,默认情况下使用ModernUI for WPF框架创建。{/ p >

我疯了 - 我发现的所有文献都说这是固定的,但我仍在处理这个问题。 (我已将字体更改为Calibri / Consolas,并且还使用了尺寸和重量 - 仍然模糊不清。)

我该如何解决这个问题?

编辑:如果我使用我工作的显示器(分辨率1920x1200)和标准DPI设置,我不太确定我有问题。在我使用的笔记本电脑显示器上,我的分辨率非常高(2880x1620),文字缩放设置得更大。在这个显示器上我正在看到文本“不清晰”。我还应该注意,在设计师中,文本显得很好。当应用程序运行时,文本看起来很糟糕。

An example of the blurry text.

3 个答案:

答案 0 :(得分:1)

所以,我发现我的问题特别是现代UI框架。我不知道为什么。我转而使用MahApps.Metro,我对字体清晰度没有任何问题。

答案 1 :(得分:0)

首先,您可以尝试使用

<TextBlock Text="Am I Still Blurry." RenderOptions.ClearTypeHint="Enabled"/>

你可能想看看这个post以便更清楚地理解

答案 2 :(得分:0)

这是设计。那些不同的控件组和它们具有不同的字体颜色样式。对于窗口右上角的示例设置和帮助,他们使用的是下面定义的SystemButtonLink样式

<Style x:Key="SystemButtonLink" TargetType="ButtonBase" BasedOn="{StaticResource SystemButtonBase}" >
    <Setter Property="Foreground" Value="{DynamicResource LinkButtonText}"/>
    <Setter Property="Width" Value="NaN" />
    <Setter Property="Height" Value="NaN" />
    <Setter Property="FontFamily" Value="Segoe UI" />
    <Setter Property="FontSize" Value="11" />
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type ButtonBase}">
                <Border Name="Chrome"
                            Background="{TemplateBinding Background}"
                            BorderThickness="{TemplateBinding BorderThickness}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            SnapsToDevicePixels="true">
                    <TextBlock DataContext="{TemplateBinding Content}"
                               Text="{Binding Converter={StaticResource ToUpperConverter}}"
                               Margin="{TemplateBinding Padding}"
                               VerticalAlignment="{TemplateBinding VerticalContentAlignment}"
                               HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}"
                               SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Style.Triggers>
        <Trigger Property="IsMouseOver" Value="True">
            <Setter Property="Foreground" Value="{DynamicResource LinkButtonTextHover}"/>
        </Trigger>
        <Trigger Property="IsPressed" Value="True">
            <Setter Property="Foreground" Value="{DynamicResource LinkButtonTextPressed}" />
        </Trigger>
        <Trigger Property="IsEnabled" Value="false">
            <Setter Property="Foreground" Value="{DynamicResource LinkButtonTextDisabled}" />
        </Trigger>
    </Style.Triggers>
</Style>

如果您参考鼠标悬停,按下和IsEnabled样式中使用的三种颜色。 可以在站点中引用更多代码。 https://mui.codeplex.com/SourceControl/latest