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