首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更新异步线程上的文本框文本

更新异步线程上的文本框文本
EN

Stack Overflow用户
提问于 2016-03-30 22:36:25
回答 1查看 754关注 0票数 1

下面是我在后面代码中的几行代码:

代码语言:javascript
复制
private static Factual factual = new Factual(FACTUAL_KEY, FACTUAL_SECRET);

private void OnStartQueries_Click(object sender, RoutedEventArgs e)
{
    RunAsyncQuery(43.0120, -81.2003, 3000, 25).ContinueWith(task => rtbJsonData.AppendText(task.Result));
}

private static async Task<string> RunAsyncQuery(double lat, double lng, int radius, int limit)
{
    return await Task.Run(() => factual.Fetch("places", new Query().WithIn(new Circle(lat, lng, radius)).Limit(limit)));
}

正如您所看到的,当我单击Start Queries按钮时,我希望异步运行一个方法。当它返回该查询的结果时,我希望将RichTextBox "rtbJsonData“的文本设置为结果。然而,目前当我运行它时,我得到了一个异常:

“调用线程无法访问此对象,因为另一个线程拥有它。”

我该怎么做呢?

EN

回答 1

Stack Overflow用户

发布于 2016-03-30 22:39:53

RichTextBox "rtbJsonData“归主线程所有,不能从另一个线程直接访问。

在WPF中,您的模型可以从INotifyPropertyChanged接口派生。对模型所做的任何更改都将在视图中更新。

有关完整示例,请参阅MSDN:https://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged(v=vs.110).aspx

这是基于https://msdn.microsoft.com/en-us/library/hh848246.aspx (模型、视图、视图-模型)模式的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36312092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档