【发布时间】:2018-05-31 22:02:29
【问题描述】:
我有一个 ViewModel 定义如下
public class PlayerViewModel : Screen, IDiscoverableViewModel
我正在显示一个弹出对话框
var result = await _dialogManager.ShowDialogAsync(item, new List<DialogResult>() { DialogResult.Cancel });
这里的 item 是另一个 ViewModel,它显示来自相关 View 的 UI。此弹出窗口显示一些信息,需要在几秒钟后自动关闭,以防用户不选择取消按钮。
以下是 10 秒后触发的 Timer 滴答事件。
void timer_Tick(object sender, EventArgs e)
{
this.DialogHost().TryClose(DialogResult.Cancel);
}
但它不起作用并抛出异常,因为 this.DialoHost() 总是变空。我尝试了this solution,但它正在关闭整个 ViewModel 而我只想关闭对话框窗口。
【问题讨论】:
标签: wpf dialog window caliburn.micro caliburn