繁体   English   中英

如何延迟混合的故事板为Windows Phone应用程序

[英]How to delay in Storyboard of blend for windows phone application

我正在开发一个表达混合的Windows手机游戏,生成随机数。 问题是我想在页面加载后的几秒钟内启动我的故事板。 我尝试过实现Timespan.FromSeconds(5)但它没有用。 我想在我的计时器停止时播放故事板。 我也尝试在dispathertimer_Tick方法的“if”条件下启动故事板,但它也没有工作。 请建议我替代。

 DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer(); 
 public MainPage()
    {
        InitializeComponent();

        dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
        dispatcherTimer.Interval = new TimeSpan(0, 0, 1);
        dispatcherTimer.Start();
        this.Loaded += LayoutRoot_Loaded;
    }

    int count = 5;
    private void dispatcherTimer_Tick(object sender, EventArgs e)
    {          
        count--;
        if (count < 0)
        {
            dispatcherTimer.Stop();
            timer.Text = "Time Over";
            count = 5;

        }
        else
        {
            timer.Text = count.ToString();
        }

    }

    private void LayoutRoot_Loaded(object sender, RoutedEventArgs e)
    {
        expr.Text = num.Next(100).ToString();
        rectangle.BeginTime = TimeSpan.FromSeconds(5);
    }

为什么不使用线程。

System.Threading.Thread.Sleep(5000);

要么

// Sleep for 5 seconds
System.Threading.Thread.Sleep(new TimeSpan(0, 0, 5));

您可以做的一种方法是,您可以将另一个页面作为启动页面并执行所有这些操作。 另一种方法是做一些事情,比如5秒后你将所有这些东西动态地插入到布局根...

如果您没有任何显示进度,Thread.sleep可以正常工作。 但是以一种棘手的方式你可以每秒钟停止睡眠并显示进度......!

Storyboard有一个属性BeginTime 只需将其设置为5秒。

在XAML中:

<Storyboard BeginTime="00:00:05" />

或C#:

myStoryboard.BeginTime = TimeSpan.FromSeconds(5);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM