2014-02-12 139 views
1

動畫的用戶控件我有一個用戶控件(UC)和我MainPaige.xaml.cs中使用這樣的:如何通過故事板

var UC_test = new UC(); 
Content.Children.Add(UC_test); 
Grid.SetRow(UC_test, 0); 

而且要進行動畫這樣的:

sb_UC_test.Begin(); 

這裏是MainPaige.xaml中的情節提要:

<Storyboard x:Name="sb_UC_test"> 
    <DoubleAnimation 
     BeginTime="0:0:1" 
     Duration="0:0:2" 
     From="0" 
     To="1" 
     Storyboard.TargetProperty="(UC_test.Opacity)" 
     Storyboard.TargetName="UC_test" 
     d:IsOptimized="True"/> 
</Storyboard> 

但它不工作。

+0

我懷疑這不起作用,因爲UC_test在運行時不是現有的元素。我不知道如果做'UC_test.Name =「UC_test」;'會工作。 – siger

+0

不起作用「System.Reflection.TargetInvocationException」 - 應該由c#創建故事板嗎? – user3168511

回答

0

只需設置你的故事板的目標動態地從C#代碼開始之前:

Storyboard.SetTarget(sb_UC_test, UC_test); 

從你的XAML中刪除Storyboard.TargetName財產。

+0

我沒有得到任何錯誤,但動畫不起作用 – user3168511

+0

好吧,我有它 - 用戶控件是在不透明度=「0」,必須在「1」 - 不知道爲什麼 – user3168511