2009-07-07 1 views
0

Как применить эффекты, такие как класс DropShadowEffect, к элементу элемента TextBlock Run в WPF?WPF: Как применить эффекты, такие как класс DropShadowEffect, к элементу элемента TextBlock Run в WPF?

Подумайте об этом как о способе выделения определенных областей текста в TextBlock, где находится элемент Run, но вместо этого применяйте индивидуальный эффект к этой области.

+1

FYI, рекомендуется избегать BitmapEffects, bc они медленны. –

ответ

2

Есть много элементов Inline, которые вы можете использовать вместо Run, если хотите эффект, например подчеркивание, курсив или прорыв. Однако, если вы хотите применить фактический Effect, элемент, к которому вы его применяете, должен быть получен из UIElement. Run, а другие встроенные элементы - нет, но вы можете вложить TextBlocks, чтобы иметь возможность применять эффекты шейдера, такие как DropShadow, которые вы ищете.

<TextBlock> 
    <Run Text="This" /> 
    <Italic> 
     <Run Text="has a" /> 
    </Italic> 
    <TextBlock Text="Drop Shadow"> 
     <TextBlock.Effect> 
      <DropShadowEffect /> 
     </TextBlock.Effect> 
    </TextBlock> 
</TextBlock> 
Смежные вопросы