从下载的文本文件更新文本块= RPC_E_WRONG_THREAD WP8.1

时间:2015-05-04 15:30:52

标签: windows-phone-8.1

我正在学习Windows Phone 8.1开发,我可能完全错误地编程了

需求:我想使用HttpClient()从网上下载文本文件,并将其显示在TextBlock1

从各种教程中我发现了以下内容:

    public async void DownloadDataAsync()
    {
        string data = "some link to Textfile.txt";
        HttpClient client = new HttpClient();
        HttpResponseMessage response = await client.GetAsync(data);
        HttpContent content = response.Content;
        string result = await content.ReadAsStringAsync();
        UpdateTextBlock1(result);
    }

然后是其他功能。

    public void UpdateTextBlock1(string result)
    {

        TextBlock1.Text = result;
    }

    private void BtnDownloadData_Click(object sender, RoutedEventArgs e)
    {

        Task t = new Task(DownloadDataAsync);
        t.Start();

    }

代码启动得很好 - 按下按钮后,我收到RPC_E_WRONG_THREAD。

当所有线程都没有完成时,我是否正在尝试调用该方法?我如何有效地编码,以便使用txt数据更新TextBlock1?

感谢您的理解,宝贝在编程方面的步骤,我无法通过谷歌找到相关的答案。 (也许我还不知道怎么问?)

1 个答案:

答案 0 :(得分:1)

您需要更新UI线程上的文本块,如下所示:

Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () => 
{
  TextBlock1.Text = result;
});

这个主题有很多帖子。