12

我观察到将 DropShadowEffect 应用于 UIElement 偶尔会导致 UIElement 的内容有点模糊。这是一个非常讨厌的效果:它可能导致照片看起来失焦或更糟——使整个“弹出”区域完全难以辨认。

我没有看到其他人对此抱怨,所以我倾向于认为我做错了什么。

示例使用(随机模糊内容):

<Border>
   <Border.Effect>
      <DropShadowEffect />
   </Border.Effect>
   <!-- (Content) -->
</Border>

但是删除 DropShadowEffect 可以清除它:

<Border>
    <!--<Border.Effect>
            <DropShadowEffect />
        </Border.Effect>-->
    <!-- (Content) -->
</Border>

有任何想法吗?

编辑(添加截图):

替代文字 http://signmgmt.com/eg/dropshadowblur.png

4

3 回答 3

14

我对这种场景所做的就是放置一个背景矩形并为此应用模糊效果,这样真实的内容就不会受到这种效果的影响,从而提高了性能。因为当您将效果应用到视觉效果时,所有后续子级也都应用了效果,这使得性能和外观变差。试试下面

 <Grid>
  <Rectangle ....>
  <Rectangle.Effect>
     <DropShadowEffect />
  </Rectangle.Effect>
 </Rectangle>
....Your content ...
</Grid>
于 2009-11-06T18:48:05.733 回答
1

您可以使用 RendingQuality 来解决此问题。默认值偏向于性能。只需这样做:

<DropShadowEffect Color="#FFFD1E1E" ShadowDepth="0" RenderingBias="Quality"/>
于 2011-11-03T19:23:11.307 回答
0

我不确定,但尝试将默认设置BlurRadiousImage.Effects0,它是 5,看看它是否有帮助?

<Image.Effect>
    <DropShadowEffect BlurRadius="0"/>
</Image.Effect>
于 2009-11-06T19:19:01.473 回答