2009-05-29 10 views
7

私はドロップシャドウとしてレンダリングしたいXAML TextBlockを持っています。これは、黒いレイヤーの上にテキストの白いレイヤーです。私はテキストを立てるためにこれをやっています。現在、2つのTextBlockが右と下の2ピクセル分オフセットされています。上層は白で下層は黒です。TextBlockのXAMLでドロップシャドウエフェクトを実行する方法はありますか?

XAMLでこれを行う簡単な方法はありますか?もしそうなら、例を挙げてください。

答えて

13

ビットマップ効果は推奨されている上の他の例がたくさんあります。代わりに新しいGPUアクセラレーションDropShadowEffectを使用してください。

<TextBlock> 
    <TextBlock.Effect> 
     <DropShadowEffect /> 
    </TextBlock.Effect> 
    Drop. 
</TextBlock> 
+1

注意: 'DropShadowEffect'を使用する場合は、[ぼかしの問題](http://stackoverflow.com/questions/1688384/wpf-dropshadoweffect-causing-blurriness)に遭遇するかもしれません。 – Pieter

+0

Windows 10の普遍的なアプリのこれと同等のことをご存じですか? –

+0

@SiGanteng Nope。他の人がいなければ、新しい質問をしてください。 – Will

3
<TextBlock 
Text="Shadow Text" 
Foreground="Teal"> 
<TextBlock.BitmapEffect> 
<DropShadowBitmapEffect 
    ShadowDepth="4" 
    Direction="330" 
    Color="Black" 
    Opacity="0.5" 
    Softness="0.25" /> 
</TextBlock.BitmapEffect> 
</TextBlock> 

MSDN

+0

非常に素晴らしい - TNX – Kevin

関連する問題