1

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

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

基本上它应该是这样工作的:用户进入这一屏幕,按下开始,继续倒计时开始倒计时——每 30 秒更新一次是完全可以的。

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

4

2 回答 2

2

wkempf 指出,您应该使用 DispatcherTimer。实际上创建非常简单。像这样的东西(你的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();
    }
}
于 2012-12-14T16:35:00.860 回答
0

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

于 2012-12-14T16:08:45.480 回答