如何安排重复任务倒计时在Windows Phone 8中的数字

时间:2012-12-14 08:23:57

标签: c# windows-phone windows-phone-8

只要用户在一个特定的屏幕上,我就需要运行一个简单的任务。 在这个屏幕上有一个倒计时器。

我研究了后台代理 - 但这似乎不是正确的方法。

基本上它应该像这样工作:用户进入这一个屏幕,按下开始,减速计时器开始倒计时 - 每30秒更新完全没问题。

我应该如何在WP8上执行此操作? 非常感谢!

2 个答案:

答案 0 :(得分:2)

你应该使用DispatcherTimer作为wkempf指出。实际创建非常简单。像这样的东西(你的xaml中有一个名为countText的TextBlock:

public partial class MainPage : PhoneApplicationPage
{
    private DispatcherTimer _timer;
    private int _countdown;

    // Constructor
    public MainPage()
    {
        InitializeComponent();

        _countdown = 100;
        _timer = new DispatcherTimer();
        _timer.Interval = TimeSpan.FromSeconds(1);
        _timer.Tick += (s, e) => Tick();
        _timer.Start();
    }

    private void Tick()
    {
        _countdown--;

        if (_countdown == 0)
        {
            _timer.Stop();
        }

        countText.Text = _countdown.ToString();
    }
}

答案 1 :(得分:0)

.NET中有很多计时器。 System.Windows.Threading.DispatcherTimer可能是您想要的,但System.Threading.Timer可能也是您想要的。取决于您是要在后台还是在UI线程上运行定期代码。