2009-05-29 16 views
7

Ho un XAML TextBlock che vorrei rendere come ombra esterna. Quello è un livello di testo bianco sopra un livello nero. Lo sto facendo per rendere il testo in piedi. Attualmente ho due offset TextBlocks a destra e in basso di due pixel. Lo strato superiore è bianco e lo strato inferiore è nero.C'è un modo per fare un effetto Ombra esterna in XAML su un TextBlock?

C'è un modo semplice per farlo in XAML? Se sì, puoi fornire un esempio?

risposta

13

effetti bitmap sono obsoleti. Utilizzare invece la nuova accelerazione GPU DropShadowEffect.

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

Attenzione: quando si utilizza 'DropShadowEffect', si potrebbe incorrere in [sfocatura problemi] (http://stackoverflow.com/questions/1688384/wpf-dropshadoweffect-causing-blurriness). – Pieter

+0

Sai l'equivalente di questo per l'app universale per Windows 10? –

+0

@SiGanteng Nope. Fai una nuova domanda, se nessun altro ha, per 10ua. – 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> 

Ci sono molti altri esempi su MSDN

+0

Molto bello - TNX – Kevin

Problemi correlati