首页 > 解决方案 > 不应在 UI 线程上执行同步操作

问题描述

我有点为这个错误而苦苦挣扎,我似乎无法修复它。我想做的是读取文件:

string contents = File.ReadAllText(@"E:\test.txt");

并且使用内容字符串更新 UI

if (contents.Contains("4H"))
{
    if (contents.Contains("1e"))
    {
        contents = contents.Remove(3, 6);
        Textbox1.Text = contents;
    }
}

但是一直在向我抛出这个错误;

不应在 UI 线程上执行同步操作。考虑将此方法包装在 Task.Run 中。错误

这是完整的代码:(不完整,但每个重要部分)

namespace Schoolbord_UWP
{

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();


        string contents = File.ReadAllText(@"E:\test.txt");


{

            if (contents.Contains("4H"))
            {
                if (contents.Contains("1e"))
                {
                    contents = contents.Remove(3, 6);
                    Textbox1.Text = contents;
                }
            }

            if (contents.Contains("4H"))
            {
                if (contents.Contains("2e"))
                {
                    contents = contents.Remove(3, 6);
                    Textbox2.Text = contents;
                }
            }

(过滤器会持续一段时间)

程序在以下行进入中断模式:

string contents = File.ReadAllText(@"E:\test.txt");

这可能是一个菜鸟问题,但我对这个 UWP 编码非常陌生。希望你能帮忙!

提前致谢!

标签: c#windows-10-iot-core

解决方案


推荐阅读