c# - 不应在 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 编码非常陌生。希望你能帮忙!
提前致谢!
解决方案
推荐阅读
- android - 尽管处理了错误,但空的 android edittext 仍然使应用程序崩溃
- pandas - Groupby 一列并根据另一列拆分计数
- asp.net - Select2 webforms在使用ajax“未找到结果”返回结果后未绑定
- r - data.table:基于其他列中存在值的新布尔列
- java - 如何在javafx中设置超链接的默认颜色?
- python-3.x - 任何人都可以在我的算法中找到错误。它是说“int object is not iterable”
- jenkins - 检查并行阶段状态
- django-rest-framework - 基于当前用户的 DRF 过滤 PrimaryKeyField
- laravel - Laravel - 试图获取非对象的属性“is_approved”
- ruby - Vagrant heredoc 中的 << 变体有什么区别?