我的一个申请遭到了批评。显示的文本被认为是模糊的。我稍微放大了窗口并得到了这个结果(所以他们是对的)
这是我在这个简化示例中尝试过的结果:
<Window x:Class="WpfApplication1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="350" Width="525">
<Grid>
<StackPanel>
<TextBlock Text="StatusDTC [1]"></TextBlock>
<TextBlock Text="StatusDTC [2]"
RenderOptions.BitmapScalingMode="NearestNeighbor"
RenderOptions.EdgeMode="Aliased"></TextBlock>
<TextBlock Text="StatusDTC [3]"
SnapsToDevicePixels="True"></TextBlock>
<TextBlock Text="StatusDTC [4]"
SnapsToDevicePixels="True"
RenderOptions.BitmapScalingMode="NearestNeighbor"
RenderOptions.EdgeMode="Aliased"></TextBlock>
</StackPanel>
</Grid>
</Window>
我在这里找到了类似的东西。但 UseLayoutRounding 似乎不适用于 .Net 3.5。我用谷歌搜索了一下,发现 .Net 4 (TextOptions.TextRenderingMode) 有改进,解决了这个问题,但是用这个应用程序切换到 .Net 4 不是一种选择。
据我所知,Win7 呈现 WPF 与 XP 不同,我还启动了一个虚拟 XP 并在那里进行了尝试。结果是一样的。
有人想在 .Net 3.5 中整理文本吗?