The best way to make text more emphasized or contrasting is to use any effect, especially shader effects. Microsoft also makes the bitmap effect obsolete since the release of .NET 3.5 SP1, so itβs best to use any shader effect or create your own.
For example ( from Karl Shifflett ), you can use DropShadowEffect to βsketchβ your text, but set ShadowDepth to 0:
<Grid> <Image Source="{Binding ImageLink}" Width="110" /> <TextBlock Text="{Binding Description}" HorizontalAlignment="Center" VerticalAlignment="Center"> <TextBlock.Effect> <DropShadowEffect ShadowDepth="0" Color="Blue" BlurRadius="10" /> </TextBlock.Effect> </TextBlock> </Grid>
For more information, you can use WPF effects in google.
UPDATE: You can also disable text anti-aliasing using the attached property TextOptions.TextRenderingMode and set it to "Aliased", or you can also use TextOptions.TextFormattingMode and set the value to "Show".
Try comparing this and see if it fits your needs:
<StackPanel> <TextBlock> Hello World ... Ideal text formatting </TextBlock> <TextBlock TextOptions.TextFormattingMode="Display"> Hello World ... Display text formatting </TextBlock> </StackPanel>
Hope this helps.
source share