C# 为什么没有地理围栏中的Dispatcher.RunAsync,我的代码就无法工作

C# 为什么没有地理围栏中的Dispatcher.RunAsync,我的代码就无法工作,c#,C#,为什么没有Dispatcher.RunAsync,这段代码就不能工作?它做了什么?如果不使用Dispatcher,则在将值复制到textv.Text时会抛出错误“That's its on nother thread” 事件Current\u geofenstatechanged在GUI线程外部触发,只有GUI线程可以更改GUI元素Dispatcher.RunAsync说,内部的代码应该在GUI线程上运行,这样它才能工作 如果将结果放在字符串变量上,则如果只放: Dispatcher.Run

为什么没有Dispatcher.RunAsync,这段代码就不能工作?它做了什么?如果不使用Dispatcher,则在将值复制到textv.Text时会抛出错误“That's its on nother thread”


事件
Current\u geofenstatechanged
在GUI线程外部触发,只有GUI线程可以更改GUI元素
Dispatcher.RunAsync
说,内部的代码应该在GUI线程上运行,这样它才能工作

如果将结果放在字符串变量上,则如果只放:

  Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => textv2.Text = StringVariable;);
编辑:我只注意到您稍后有XAML代码,您可以将字符串放在属性上,并将属性绑定到文本框的文本值,这样您就可以从调度程序中解脱出来

<TextBox Text="{Binding StringVariable}"/>
而在方法上,只需将值设置为属性

StringVariable = "bla bla";
public string StringVariable { get; set; }
StringVariable = "bla bla";