2009-05-29 38 views
7

我有一個XAML TextBlock,我想渲染爲投影。這是黑色圖層頂部的白色文本層。我正在這樣做,使文本的立場。目前我有兩個TextBlocks向右和向下偏移兩個像素。頂層爲白色,底層爲黑色。有沒有辦法在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 2013-08-14 10:00:44

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 2009-05-29 20:02:28