c# - 枢轴应用程序 (WP7) 中的动画控制

标签 c# windows-phone-7 pivot storyboard windows-phone

我在 Xaml 中创建了一个数据透视表。枢轴有 4 个项目。

在每个枢轴上都有一个由以下代码创建的 Storyboard动画:

    {  
        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);         } 

如何将 Storyboard的开始设置为仅在选择数据透视项时开始,而所有其他 Storyboard均未播放?

我尝试用 Pivot_SelectionChanged(); 设置它,但没有成功。

最佳答案

我认为您必须在页面的加载方法中创建所有 Storyboard,然后显示或隐藏 Storyboard。

    public MainPage()
    {
        // Create storyboard1
        // create storyboard2 ...
    }

然后使用 Pivot_SelectionChanged 方法显示或隐藏 Storyboard

    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;
        }
    }

关于c# - 枢轴应用程序 (WP7) 中的动画控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6799002/

相关文章:

c# - .NET Process.Start() 在远程系统上的可执行文件上 - 安全警告?

c# - 如何使用 Android 版 Xamarin 格式化电话号码?

c# - OxyPlot 获取点击点

c# - 调试 WP7 崩溃

SQL - 将具有编码文本值的行转换/转置为列

SQL PIVOT 从列表中选择(IN SELECT)

c# - 使用 List<Thread> 管理线程

windows-phone-7 - 在锁定屏幕下跟踪加速度计

c# - 以数字为键反序列化 JSON

r - 通过多列更广泛地旋转