2009-05-29 12 views
7

Mam XAML TextBlock, który chciałbym renderować jako cień. Jest to biała warstwa tekstu na czarnej warstwie. Robię to, aby tekst stał. Obecnie mam dwa przesunięcia TextBlocks w prawo i poniżej o dwa piksele. Górna warstwa jest biała, a dolna warstwa jest czarna.Czy jest jakiś sposób, aby zrobić efekt Cień w XAML na TextBlock?

Czy istnieje prosty sposób, aby to zrobić w XAML? Jeśli tak, czy możesz podać przykład?

Odpowiedz

13

efekty bitmapowe są przestarzałe. Zamiast tego użyj nowego, przyspieszanego GPU, DropShadowEffect.

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

Uwaga: jeśli używasz 'DropShadowEffect' może napotkasz [rozmazania problemy] (http://stackoverflow.com/questions/1688384/wpf-dropshadoweffect-causing-blurriness). – Pieter

+0

Czy znasz odpowiednik tego dla uniwersalnej aplikacji Windows 10? –

+0

@SiGanteng Nope. Zadaj nowe pytanie, jeśli nikt inny nie ma, na 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> 

Istnieje wiele innych przykładów na MSDN

+0

Bardzo ładny - tnx – Kevin

Powiązane problemy