2009-05-27 13 views
1

Dieser XAML lässt Text einblenden, wenn er angezeigt wird.Wie kann ich diesen TextBlock-Fade-In-Trigger in einen Style konvertieren

Ich möchte diese Funktionalität in einen Stil setzen.

Wie auch immer, aber was gebe ich für den "TargetName" an, da der Stil nicht weiß, welches Element er benutzen wird?

Wie kann ich diesen Einblendeffekt in einen Stil umwandeln?

<TextBlock Name="Message" Text="This is a test."> 
    <TextBlock.Triggers> 
    <EventTrigger RoutedEvent="TextBlock.Loaded"> 
     <BeginStoryboard> 
     <Storyboard> 
      <DoubleAnimation 
      Storyboard.TargetName="Message" 
      Storyboard.TargetProperty="(TextBlock.Opacity)" 
      From="0.0" To="1.0" Duration="0:0:3"/> 
     </Storyboard> 
     </BeginStoryboard> 
    </EventTrigger> 
    </TextBlock.Triggers> 
</TextBlock> 

Antwort

5

Sie müssen TargetName nicht verwenden. Dies funktioniert:

<Page 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <Page.Resources> 
    <Style TargetType="TextBlock"> 
     <Style.Triggers> 
     <EventTrigger RoutedEvent="TextBlock.Loaded"> 
      <BeginStoryboard> 
      <Storyboard> 
       <DoubleAnimation 
       Storyboard.TargetProperty="(TextBlock.Opacity)" 
       From="0.0" To="1.0" Duration="0:0:3"/> 
      </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger> 
     </Style.Triggers> 
    </Style> 
    </Page.Resources> 
    <Grid> 
    <TextBlock Name="Message" Text="This is a test."> 
    </TextBlock> 
    </Grid> 
</Page>