如何修复块中的线程问题

时间:2017-08-29 13:30:05

标签: multithreading xamarin mvvm-light xamarin.winphone

当我尝试更改

中的变量值时
 GalaSoft.MvvmLight.Messaging.Messenger.Default.Register<status>(this, async Status=>
            {
              this.txt1.text = "Hi"
            });

enter image description here

我真的很困惑如何处理这个错误

1 个答案:

答案 0 :(得分:0)

您只能从主UI线程更新UI。为此,您需要使用Device.BeginInvokeOnMainThread方法来调用UI线程上UI的更新。像这样:

12b570970d786ebf07c85496f5d2a7212fca81799c93379c43066206b6780885

每个平台都有自己的本机方法来在UI线程上调用。在WinPhone中:

GalaSoft.MvvmLight.Messaging.Messenger.Default.Register<status>(this, async Status=>
        {
             Device.BeginInvokeOnMainThread(() =>
             {
                this.txt1.text = "Hi";
             });
        });