2013-01-22 48 views
3

我正试图在我的Windows应用商店中的某个特定时间举办活动。现在我已经无数次地在桌面应用程序中完成了这项工作,并且过去我使用System.Threading.Timer,并且它运行良好,但该类不适用于Windows应用商店。如何在任何特定时间提高活动

我查看了文档,发现了一个名为DispatchTimer的类,虽然它看起来像是我之后的,但如果我错了,但是文档不足,请纠正我。但幸运的是它很容易使用。

所以我尝试了DispatchTimer,但使用后,我甚至不知道这是我应该使用的。

我该如何监视任何给定时间,并在该时间结束时提醒事件(在Windows应用商店应用程序中)?你知道任何资源在地铁应用程序中做到这一点吗?

回答

2

DispatcherTimer是要走的路。请注意,如果您希望您的应用在后台运行,您必须在应用清单上声明该应用或使用后台代理。

3

使用DispatcherTimer这样的:

var timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(10) }; 
timer.Tick += OnTimerTick; 
timer.Start(); 

private void OnTimerTick(object sender, object args) 
{ 
    // Do something with pickup here... 
} 

这将创建一个10秒的间隔定时器。

+1

Thanks @Kristian,我如何将一个对象作为参数传递给OnTimerTick事件?那可能吗?我知道我们可以为扩展方法做... – Arrow

+2

你想传递什么样的论点?你可以在任何情况下使用['DispatchTimer.Tag'](http://msdn.microsoft.com/en-us/library/system.windows.threading.dispatchertimer.tag.aspx)属性。 – khellang

+1

我需要传递Pickup类型的对象,这样当时间流逝时,我知道哪个Pickup闹钟是为了。皮卡是一个包含订单信息的类。 – Arrow