只要用户在一个特定的屏幕上,我只需要一个简单的任务就可以运行。在这个屏幕上有一个倒数计时器。
我调查了后台代理——但这似乎不是正确的方法。
基本上它应该是这样工作的:用户进入这一屏幕,按下开始,继续倒计时开始倒计时——每 30 秒更新一次是完全可以的。
我应该如何在 WP8 上执行此操作?非常感谢!
只要用户在一个特定的屏幕上,我只需要一个简单的任务就可以运行。在这个屏幕上有一个倒数计时器。
我调查了后台代理——但这似乎不是正确的方法。
基本上它应该是这样工作的:用户进入这一屏幕,按下开始,继续倒计时开始倒计时——每 30 秒更新一次是完全可以的。
我应该如何在 WP8 上执行此操作?非常感谢!
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();
}
}
.NET 中有许多计时器。System.Windows.Threading.DispatcherTimer 可能是您想要的,但 System.Threading.Timer 也可能是您想要的。取决于您是要在后台还是在 UI 线程上运行周期性代码。