C# 如何在windows phone 8中安排重复任务以倒计时

C# 如何在windows phone 8中安排重复任务以倒计时,c#,windows-phone,windows-phone-8,C#,Windows Phone,Windows Phone 8,我只需要有一个简单的任务,只要用户在一个特定的屏幕上就可以运行。 在这个屏幕上有一个倒计时 我调查了后台代理,但这似乎不是正确的方法 基本上,它应该是这样工作的:用户进入这个屏幕,按下开始键,然后cont down定时器开始倒计时——每30秒更新一次就可以了 我应该如何在WP8上执行此操作? 非常感谢 在.NET中有许多计时器。System.Windows.Threading.Dispatchermer可能是您想要的,但System.Threading.Timer可能也是您想要的。取决于您是想在

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

我调查了后台代理,但这似乎不是正确的方法

基本上,它应该是这样工作的:用户进入这个屏幕,按下开始键,然后cont down定时器开始倒计时——每30秒更新一次就可以了

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

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

您应该使用wkempf指出的Dispatcher。实际上创建起来很简单。类似这样的内容(在xaml中有一个名为countText的文本块:

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

你问的是如何用C#制作倒计时,还是我没抓住要点?谢谢-我实际上不知道WP8上有什么替代方案。这就是为什么我问的原因-在Android和iPhone上,我会安排一个重复的任务,在那里我可以定义它的功能。我需要做的不仅仅是每30秒显示一个倒计时数字-而应用程序正在运行d当用户可以使用应用程序、按钮等时,perdiodic更新应该是一项每30秒重复一次的任务。如果你在后台做事情,而应用程序不在前台,你必须使用后台代理,它只能以最短的间隔每30分钟运行一次。不,应用程序在前台。。Tick方法中不需要Dispatcher.BeginInvoke。Dispatcher应该在已经与Dispatcher关联的线程上引发Tick事件。