私のアプリケーションの 1 つに批判があります。表示されたテキストがぼやけて認識されます。ウィンドウを少しズームして、この結果を得ました(したがって、正しいです)
この単純化された例でここで試したことの結果:
<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 は XP とは異なる WPF をレンダリングすることを知っているので、仮想 XP も開始してそこで試してみました。結果は同じです。
誰かが.Net 3.5でテキストを鮮明にする考えを持っていますか?