Xaml 在Windows-8.1上更新通用应用程序中的UI元素

Xaml 在Windows-8.1上更新通用应用程序中的UI元素,xaml,windows-phone-8.1,windows-8.1,Xaml,Windows Phone 8.1,Windows 8.1,我的Windows 8.1应用程序上有一个文本块: <TextBlock x:Name="some" Text="" TextWrapping="Wrap" /> 当我启动代码时,我只看到“示例1”消息。只有在数据库操作完成后,我才能看到消息“example2” 在Windows 8.1上有没有办法重新绘制/刷新/更新UI元素 更新: 以下是数据库操作: foreach(var record in records) { SqliteController.InsertRecor

我的Windows 8.1应用程序上有一个文本块:

<TextBlock x:Name="some" Text="" TextWrapping="Wrap" />
当我启动代码时,我只看到“示例1”消息。只有在数据库操作完成后,我才能看到消息“example2”

在Windows 8.1上有没有办法重新绘制/刷新/更新UI元素

更新:

以下是数据库操作:

foreach(var record in records)
{
   SqliteController.InsertRecord(record);
}

....

public void async InsertRecord(Inspection record)
{
    connection.InsertAsync(inspection);
}

您的UI线程似乎已被阻止,因此不会立即升级。我还没有看到所有的代码,但是从这里可以看出,
connection.InsertAsync(检查)是一个异步操作。可能在这种情况下,只需等待您的程序即可:

foreach(记录中的var记录)
{
等待SqliteController.InsertRecord(record);
}
您还可以考虑将繁重的作业重定向到其他线程,例如:

Task.Run(()=>
{
foreach(记录中的var记录)
SqliteController.InsertRecord(record);
});
您也可以考虑使用来加快您的操作


至于异步编程,您将在和中找到许多有用的信息。

您是否因为一些繁重的工作而阻塞了UI线程?你的数据库操作看起来怎么样?我不确定。我已经更新了我的问题。但是,是的-看起来我正在阻止UI线程。谢谢,但是在数据库阻止操作开始之前,有没有办法说UI线程要更新UI控件?UI线程永远不应该被阻止,然后立即执行UI更新。使用异步操作并将繁重的作业重定向到其他线程。
foreach(var record in records)
{
   SqliteController.InsertRecord(record);
}

....

public void async InsertRecord(Inspection record)
{
    connection.InsertAsync(inspection);
}