问题描述
当trySomething返回字符串时,显示以下代码工作正常,并且显示对话框窗口(我正在使用Prism MVVM,但我认为这不应该是这里的问题)。
var errorMessage = "";
IsBusy = true;
await Task.Run(() =>
{
errorMessage = trySomething(sourceFile);
});
IsBusy = false;
if (errorMessage != null)
{
_dialogService.ShowNotificationDialog(errorMessage,"ErrorTitle");
}
如果我尝试按以下方式使用BusyTask(Task t),则dialogWindow不可见,但是我无法单击其他任何地方,因此它似乎存在并阻塞。
var errorMessage = "";
await BusyTask(Task.Run(() =>
{
errorMessage = CrashtestWrapper!.AddTitelbild(sourceFile);
}));
if (errorMessage != null)
{
_dialogService.ShowNotificationDialog(errorMessage,"Fehler bei Bildablage");
return;
}
...
private async Task BusyTask(Task t)
{
IsBusy = true;
await t;
IsBusy = false;
}
我的猜测是这是一个错误的线程,但是configureAwait(true)不会更改任何内容,而configureAwait(false)会带来错误的线程上的(预期)错误。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)