我观察到,偶尔将一个DropShadowEffect应用于UIElement会导致UIElement的内容模糊不清。这是一个非常讨厌的效果:它可能导致照片失焦或更糟 - 使整个“弹出”区域完全难以理解。
我还没有看到有人在抱怨这个,所以我倾向于认为有些事我做错了。
样本使用(随机模糊内容):
<Border>
<Border.Effect>
<DropShadowEffect />
</Border.Effect>
<!-- (Content) -->
</Border>
但删除DropShadowEffect会将其清除:
<Border>
<!--<Border.Effect>
<DropShadowEffect />
</Border.Effect>-->
<!-- (Content) -->
</Border>
有任何想法吗?
编辑(添加截图):
alt text http://signmgmt.com/eg/dropshadowblur.png
我为这种场景做的是放置一个背景矩形并仅为此应用模糊效果,这样真正的内容就不会受到影响,从而提高了性能。因为当您将效果应用于视觉效果时,所有后续的孩子也会获得应用效果,这会使得穿孔和外观变坏。试试下面的内容
<Grid>
<Rectangle ....>
<Rectangle.Effect>
<DropShadowEffect />
</Rectangle.Effect>
</Rectangle>
....Your content ...
</Grid>
您可以使用RendingQuality来解决此问题。默认设置是出于性能偏差。这样做:
<DropShadowEffect Color="#FFFD1E1E" ShadowDepth="0" RenderingBias="Quality"/>
我不确定
尝试设置 BlurRadious
为了 Image.Effects
默认情况下为0,看看它是否有帮助?
<Image.Effect>
<DropShadowEffect BlurRadius="0"/>
</Image.Effect>