2010-12-02 12 views

Répondre

0

Pour autant que je sais que cela pourrait du travail:

<Label Content="Hi there!"> 
<Label.BitmapEffect> 
<OuterGlowBitmapEffect/> 
</Label.BitmapEffect> 
</Label> 

Je n'ai pas testé cela dans une étiquette, mais j'ai travaillé pour moi dans d'autres contrôles et formes, aussi, consultez toute la liste des effets IntelliSense s vous :)

+0

J'ai essayé '' ne fonctionne pas .. ( – serhio

+0

par le Il y a aussi un ** BevelBitmapEffect **, mais je n'ai pas réussi à l'appliquer à un texte d'étiquette – serhio

+0

Essayez-le sur un bloc de texte à la place .... cela devrait fonctionner, je l'ai fait avant que je rappelez-le ...: p – Machinarius

0

Ah, d'accord, je comprends mieux votre problème.

Essayez quelque chose comme ceci:

<Grid> 
    <Grid.Resources> 
     <OuterGlowBitmapEffect GlowColor="Blue" GlowSize="5" x:key="Glow" /> 
    </Grid.Resources> 
    <Label Content="Blah!" BitmapEffect="{StaticResource Glow}" /> 
</Grid> 

je reçois "Blah!" avec une lueur bleue. Cela semble être un travail décent puisque le contenu de Label ne peut pas être défini deux fois.

Espérons que ça aide!

EDIT: Cela ne fonctionnera pas sauf si vous utilisez Framework 3.5 car BitmapEffect a été abandonné. :(

+0

Attention, je veux briller (biseau) * texte * pas * frontière *. – serhio

+0

la lueur n'apparaît pas juste autour de la limite de l'étiquette. le texte est brillant aussi. –

3

Je ne suis pas particulièrement satisfait de cette « solution »:

<TextBlock Text="Hello World!" Foreground="Red"> 
    <TextBlock.Effect> 
     <BlurEffect Radius="1" KernelType="Box" /> 
    </TextBlock.Effect> 
</TextBlock> 
<TextBlock Text="Hello World!" /> 

Autre option est de faire votre propre pixel shader, je ne suis pas très bon que je suis tellement peur que je ne peux pas vous aider:/

modifier: Une meilleure solution, pas encore biseau si

<TextBlock Text="Hello World!"> 
    <TextBlock.Effect> 
     <DropShadowEffect BlurRadius="2" Color="Red" Direction="0" ShadowDepth="0" /> 
    </TextBlock.Effect> 
</TextBlock> 
+0

ah, j'ai vu que le TextBlock avait un effet, mais j'ai seulement joué avec l'effet DropShadow. Donc, le Flou est un peu comme une lueur? Je vais devoir jouer avec ça. –

+0

@townsean ye, peut-être DropShadowEffect est préférable d'utiliser, alors vous pouvez ignorer les deux TextBlocks. – Oggy

0

suggestion de Followintg Oggy.

<Label.Effect> 
    <DropShadowEffect BlurRadius="5" 
         Color="Red" 
         Opacity="1" 
         ShadowDepth="0" /> 
</Label.Effect> 
5

Voici un moyen d'obtenir un effet de lueur sur le texte. À l'aide du contrôle OutlinedText de this link qui propose Stroke.

alt text

<local:OutlinedText FontSize="100" 
        Fill="Black" 
        Bold="True" 
        Stroke="White" 
        StrokeThickness="3" 
        Text="Glow"> 
    <local:OutlinedText.Effect> 
     <DropShadowEffect ShadowDepth="0" 
          Color="White" 
          Opacity="1" 
          BlurRadius="12"/> 
    </local:OutlinedText.Effect> 
</local:OutlinedText> 

Mise à jour
C'est le plus proche que je suis venu à un effet Biseau, mais il ne fonctionne pas très bien. Utilisé l'approche de this link.

alt text

<Style x:Key="ContentControlStyle1" TargetType="{x:Type ContentControl}"> 
    <Setter Property="Template"> 
     <Setter.Value> 
      <ControlTemplate TargetType="{x:Type ContentControl}"> 
       <Grid> 
        <TextBlock Name="Highlight" Foreground="#66FFFFFF" Text="{TemplateBinding Content}" /> 
        <TextBlock Name="Shadow" Margin="0,4,0,0" Foreground="#CC000000" Text="{TemplateBinding Content}"/> 
        <ContentPresenter Margin="0,2,0,0"/> 
       </Grid> 
      </ControlTemplate> 
     </Setter.Value> 
    </Setter> 
</Style> 

<ContentControl Style="{DynamicResource ContentControlStyle1}" FontSize="101" Foreground="DarkGray" Content="Bevel"/>