2009-11-06 32 views
11

私は、DropEdgeEffectをUIElementに散発的に適用すると、UIElementのコンテンツが少しぼやけてしまうことがわかりました。それはかなり厄介な効果です:それは、写真の焦点が外れたり、ポップアップ領域全体が完全に判読不能になったりすることがあります。WPF DropShadowEffect Blurrinessを引き起こす

私はこれについて不平を言っている人は誰も見ていないので、私の気持ちは、私が間違っていることがあると思うことです。

サンプル使用は(ランダムにコンテンツをぼかし):

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

しかしDropShadowEffectがそれをクリア削除:

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

任意のアイデア?

EDIT(追加スクリーンショット):

alt text http://signmgmt.com/eg/dropshadowblur.png

+0

スクリーンショットを投稿できますか? –

+0

スクリーンショットが追加されました。 – egoodberry

答えて

12

私はシナリオのこの種のために行うことは背景の長方形を置くと実際の内容がより自由になるように、ただそのためにブラー効果を適用されますその結果、パフォーマンスが向上します。ビジュアルにエフェクトを適用すると、その後のすべての子もエフェクトが適用されるため、perfとルックスが悪くなります。私はよく分からないけど それは5ですデフォルトで0にImage.EffectsためBlurRadiousを設定してみてください、それが役立つかどうかを確認

<Grid> 
    <Rectangle ....> 
    <Rectangle.Effect> 
    <DropShadowEffect /> 
    </Rectangle.Effect> 
</Rectangle> 
....Your content ... 
</Grid> 
+0

非常に良いアプローチが効果的だと思われます。ありがとう! – egoodberry

+0

ありがとうございます。私は最後の2時間を境界問題に絞ったパフォーマンスの問題を追跡しました。私は回避策を探していて、これを見つけた。素晴らしい作品、ありがとう! –

0

以下試してみてください?

<Image.Effect> 
    <DropShadowEffect BlurRadius="0"/> 
</Image.Effect> 
+0

これは効果がありません。 – egoodberry

1

この問題を解決するために使用できるRendingQualityがあります。デフォルトはパフォーマンスのために偏っています。ちょうどこれを行う:

<DropShadowEffect Color="#FFFD1E1E" ShadowDepth="0" RenderingBias="Quality"/> 
関連する問題