WPF DropShadowEffect导致模糊

时间:2009-11-06 15:39:15

标签: wpf styles dropshadow

我发现将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

3 个答案:

答案 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