下面列了两种方法启动Timer并更新UI, 官方文档说Device.StartTimer中如果更新界面需要用Device.BeginInvokeOnMainThread
Device.StartTimer(TimeSpan.FromMilliseconds(500), () =>
{
Device.BeginInvokeOnMainThread(() =>
{
label1.Text = String.Format("{0},{1}", DateTime.Now.ToString(), System.Threading.Thread.CurrentThread.ManagedThreadId);
});
return true;
});
var timer = new System.Timers.Timer(500);
timer.Elapsed += ((s,e)=> {
Device.BeginInvokeOnMainThread(() =>
{
label2.Text = String.Format("{0},{1}", DateTime.Now.ToString(), System.Threading.Thread.CurrentThread.ManagedThreadId);
});
});
timer.Start();