如何在Xamarin Forms的ContentPage上使用RunOnUiThread

时间:2018-12-15 09:45:39

标签: multithreading xaml xamarin.forms async-await

我想使用RunOnUiThread通过Timer通过UI线程更新UI(图表和标签)。我正在使用ContentPage。如何在内容页面上为RunOnUiThread使用Add Activity类?不支持。

我想执行以下操作:

RunOnUiThread(() => { tvTimer.Text = Convert.ToString(CountSeconds );});

当前我正在使用

Device.BeginInvokeOnMainThread(async () => });

用于更新UI,但UI卡住或未正确更新,例如每秒显示倒数计时器。

请帮帮我

1 个答案:

答案 0 :(得分:0)

我认为这是正在发生的原因是因为您可能正在犯一些小错误,并且从我看到的代码中我看不出来,所以我将为您提供一些参考,以供参考: / p>

定义要在主线程上执行的方法:

 private async void MethodOnUIThread()
    {
       await **something**;
       //Probably your timer code 
       //This method does not necessarily have to be async.
    }

在主线程上运行如下方法:

   Device.BeginInvokeOnMainThread(MethodOnUIThread);

在查询或您不了解的情况下返回