这有点让我疯狂。将DropShadowEffect
添加到按钮。在IDE中它看起来像这样:
第二个按钮仅供参考,没有DropShadowEffect
。你可以看到下一个没有区别。然后我构建项目,当它运行时,它看起来像这样:
造成这种变化的原因是什么?这是两个按钮的XAML:
<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" />
编辑: 采取@gretro确实让它看起来更好但它仍然是不对的:
然而,再一次在IDE中看起来很好:
答案 0 :(得分:32)
您的整个按钮呈现在跨像素边界上。请注意1点边框实际上跨越多个像素,导致模糊效果。
尝试在父元素或祖先元素上设置UseLayoutRounding="True"
。树的越远越好(你的视图的根视觉是理想的)。您也可以尝试SnapsToDevicePixels="True"
。
答案 1 :(得分:4)
删除附加的属性TextOptions.TextFormattingMode="Display"
。这就是导致按钮模糊的原因。
<Button Grid.Row="25" Grid.Column="0" Content="Clear">
<Button.Effect>
<DropShadowEffect BlurRadius="5" ShadowDepth="3" />
</Button.Effect>
</Button>
这个XAML在按钮中呈现水晶般清晰的文字,并带有阴影效果。