我希望每10秒运行一次GetCurrentLocation()
方法,但只有在加载页面时才会捕获该位置一次。我该如何纠正?这是WP代码:
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
Callback(true);
}
private static Timer timer;
private void Main()
{
timer = new Timer(Callback, null, 10000, Timeout.Infinite);
}
private void Callback(Object state)
{
GetCurrentLocation();
}
答案 0 :(得分:6)
永远不会调用Main方法。
您只能在加载页面时直接调用Callback,以便永远不会启动计时器。
在Loaded处理程序中调用Main。
同时将TimeOut.Infinite
更改为实际数字。此参数设置计时器的滴答之间的时间,而不是它将运行多长时间!
另外:制作计时器private
而不是private static
;就我所见,没有充分的理由让它静止:
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
StartTimer();
}
private Timer timer;
private void StartTimer()
{
// start now and repeat every 10 seconds
timer = new Timer(TimerCallback, null, 0, 10000);
}
private void TimerCallback(Object state)
{
GetCurrentLocation();
}