2011-07-23 24 views
1

我在Xaml中創建了一個數據透視表。該樞紐有4個項目。動作控制在一個數據透視應用程序(WP7)

在每一個支點有通過下面的代碼創建一個故事板動畫:

{ 
     var myStoryBoard = new Storyboard(); 
     myStoryBoard.RepeatBehavior = RepeatBehavior.Forever; 
     var animation = new ObjectAnimationUsingKeyFrames(); 

     Storyboard.SetTarget(animation, myAnim1); 
     Storyboard.SetTargetProperty(animation, new PropertyPath("Source")); 

     myStoryBoard.Children.Add(animation); 

     // try to catch my images autmatically 

     for (int i = 1; i <= 12; i++) 
     { 
      var keyframe = new DiscreteObjectKeyFrame 
      { 
       KeyTime = KeyTime.FromTimeSpan(TimeSpan.FromMilliseconds(750 * i)), 
       Value = String.Format("/Images/img_{0:D2}.jpg", i) 
      }; 

      animation.KeyFrames.Add(keyframe); 
     } 
     Resources.Add("myAnimation", storyboard);   } 

我如何可以設置開始的故事板纔開始,如果選擇樞軸項,而其他所有故事板是不是打?

我試圖用Pivot_SelectionChanged();來設置它,但沒有成功。

+0

糾正代碼。我寫現在 – MSicc

回答

7

我認爲你必須在頁面的加載方法中創建所有故事板,然後顯示或隱藏故事板。

public MainPage() 
    { 
     // Create storyboard1 
     // create storyboard2 ... 
    } 
與Pivot_SelectionChanged方法秀

然後或隱藏故事情節

private void Pivot_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 
     switch (((Pivot)sender).SelectedIndex) 
     { 
      case 0: 
       storyboard1.Begin(); 
       storyboard2.Stop(); 
       break; 
      case 1: 
       storyboard2.Begin(); 
       storyboard1.Stop(); 
       break; 
     } 
    } 
+0

感謝您的想法。我按照上圖所示嘗試了這種方法,但在SelectionChanged方法中,故事板無法識別... – MSicc

+1

您必須先申報Storyboard。 '故事板story1; public MainPage() { story1 = new Storyboard(); ... }' ... 就像那樣,你可以在任何地方使用你的故事板,如果你使用xaml,只需在故事板中添加一個x-name。 – MatthieuVdh

+0

我已經將它們命名爲double(在Code Behind和我的Xaml中)。現在我只在Xaml中命名它們。奇蹟般有效。樞紐的表現現在應該是。許多Thx爲您提供幫助和支持! – MSicc

相關問題