在不使用额外线程的情况下,我只想在读取或写入大量数据时显示“正在加载”标签或类似于用户的内容。但是,如果我在调用 IO 方法之前尝试修改任何 UI 元素,应用程序会冻结一段时间,然后在所有工作完成后显示“正在加载”消息。这显然没有帮助。在调用 IO 方法之前,如何确保所有 UI 更改都已应用且可见?
DataSet ds = STT_Import.ImportExcelToDataSet(filePath);
bool result = false;
if (ds != null)
{
int cellCount = ds.GetTotalCellCount();
if (Popup.ShowMessage(string.Format("Your file contains {0} cells. Inserting data will take approximately {1} seconds. Do you want to continue?",
cellCount, CalculateTime(cellCount)), "Confirm", MessageType.Confirm) == MessageBoxResult.Yes)
{
// Tell user the application is working:
StatusLabel.Content = "Writing to database...";
// Do actual work after user has been notified:
result = DB.StoreItems(_currentType, ds);
}
}
我试图寻找答案,但找不到任何可以回答我的具体问题的东西,所以如果之前有人问过这个问题,我很抱歉。