2009-07-07 7 views
0

Comment appliquer des effets tels qu'une classe DropShadowEffect à un élément TextBlock Run dans WPF? Pensez-y comme un moyen de mettre en évidence certaines zones de texte dans un TextBlock où se trouve l'élément Run, mais en appliquant un effet individuel à cette zone à la place.WPF: Comment appliquer des effets tels qu'une classe DropShadowEffect à un élément TextBlock Run dans WPF?

+1

FYI, il est conseillé d'éviter les BitmapEffects, car ils sont lents. –

Répondre

2

Il y a beaucoup d'éléments Inline que vous pouvez utiliser à la place de Run, si vous voulez un effet comme soulignement, italique ou barré. Toutefois, si vous souhaitez appliquer un réel Effect, l'élément auquel vous l'appliquez doit être dérivé de UIElement. Exécuter et les autres éléments en ligne ne le font pas, mais vous pouvez imbriquer TextBlocks pour pouvoir appliquer des effets Shader comme l'ombre portée que vous recherchez.

<TextBlock> 
    <Run Text="This" /> 
    <Italic> 
     <Run Text="has a" /> 
    </Italic> 
    <TextBlock Text="Drop Shadow"> 
     <TextBlock.Effect> 
      <DropShadowEffect /> 
     </TextBlock.Effect> 
    </TextBlock> 
</TextBlock> 
Questions connexes