c# wpf dropshadow

c# - WPF Dropshadow on Button causa texto borroso



(2)

Esto me está volviendo loco. Adición de un DropShadowEffect a un botón. En el IDE se ve así:

El segundo botón es para referencia sin DropShadowEffect . Como se puede ver a continuación no hay diferencia. Luego construyo el proyecto y cuando se ejecuta se ve así:

¿Qué está causando este cambio? Aquí está el XAML para los dos botones:

<Button Name="clearButton" Content="Clear" Click="clearButton_Click" Margin="5,0,5,0" MaxWidth="80" MinHeight="40" TextOptions.TextFormattingMode="Display"> <Button.Effect> <DropShadowEffect BlurRadius="5" ShadowDepth="3" /> </Button.Effect> </Button> <Button Content="Clear" Margin="5,5,5,0" MaxWidth="80" MinHeight="40" TextOptions.TextFormattingMode="Display" />

Edit: Tomar @gretro hace que se vea mejor pero aún no está bien:

Sin embargo, una vez más en el IDE se ve bien:


Elimine la propiedad adjunta TextOptions.TextFormattingMode="Display" . Esto es lo que hace que el botón esté borroso.

<Button Grid.Row="25" Grid.Column="0" Content="Clear"> <Button.Effect> <DropShadowEffect BlurRadius="5" ShadowDepth="3" /> </Button.Effect> </Button>

Este XAML presenta un texto claro como el cristal en el botón con el efecto de sombra para mí.


Todo el botón se muestra en un límite de píxeles cruzados. Observe cómo el borde de 1 punto en realidad abarca varios píxeles, lo que provoca un efecto de desenfoque.

Intente configurar UseLayoutRounding="True" en un elemento padre o ancestro. Cuanto más arriba esté el árbol, mejor (la raíz visual de su vista sería ideal). También puedes probar SnapsToDevicePixels="True" .