2016-06-17 1 views
0

のTextBlockがロードされたとき、私はEventTriggerが求めている:コールEventTriggerするRoutedEvent

<TextBlock Name="Hit" Text="Hit!"> 
<TextBlock.Triggers> 
    <EventTrigger RoutedEvent="TextBlock.Loaded"> 
    <BeginStoryboard> 
    <Storyboard> 
     <DoubleAnimation 
     Storyboard.TargetProperty="Opacity" 
     From="0" To="1" Duration="0:0:1"/> 
    </Storyboard> 
    </BeginStoryboard> 
    </EventTrigger> 
</TextBlock.Triggers> 
</TextBlock> 

しかし、私は私自身のランチャーを作成して、私のC#クラスで直接このEventTriggerを呼びたいです。
誰かが私を助けることができますか?

答えて

0

私の理解では、テキストボックスが読み込まれるときにストーリーボードを呼び出す必要があります。

以下のコードは私のために働いた。

XAML:

<Window x:Class="WpfApplication6.MainWindow" 
     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
     xmlns:vm="clr-namespace:WpfApplication6" 
     Title="MainWindow" Height="350" Width="525"> 
    <Window.Resources> 

      <Storyboard x:Key="animation"> 
       <DoubleAnimation 
     Storyboard.TargetProperty="Opacity" 
     From="0" To="1" Duration="0:0:1"/> 
      </Storyboard> 

    </Window.Resources> 

    <Window.DataContext> 
     <vm:ViewModel></vm:ViewModel> 
    </Window.DataContext> 
    <Grid x:Name="grid"> 
     <StackPanel> 
     <TextBlock Name="Hit" Width="200" Height="100" Text="Hit!">   
     </TextBlock>  
     </StackPanel>  
    </Grid> 
</Window> 

コード:

public MainWindow() 
     { 
      this.InitializeComponent(); 
      Hit.Loaded += Hit_Loaded; 

     } 

     private void Hit_Loaded(object sender, RoutedEventArgs e) 
     { 
      Storyboard sb = this.FindResource("animation") as Storyboard; 
      Storyboard.SetTarget(sb, this.Hit); 
      sb.Begin(); 
     } 
+0

私が必要私のストーリーボードたびに呼び出すためのHit_Loaded関数内おかげで、私が必要と正確に何ではないですが、それは非常に私を助けて、I再利用コンテンツ。 – Franckentien

関連する問題