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