如何解决任务执行后未显示WPF对话框等待运行
当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 举报,一经查实,本站将立刻删除。