我有一个像我这样的ViewModel的构造函数:
[ImportingConstructor]
public MyViewModel(IMyViewModel view)
: base(view)
{
if (tester.TestConnection(port, ref _errorMessages))
{
MethodThatBeginsAsync();
}
else
{
MessageBox.Show("Could not connect: " + _errorMessages);
_abortCommand.Execute(null);
}
}
如果检查失败,我在尝试关闭相应的窗口时收到CompositionException的错误消息;如何在窗口打开前关闭窗口?
即。相当于:
_dialogResult = false;
ViewCore.close();
答案 0 :(得分:1)
“如何在窗口打开前关闭窗口?”
不要打开它。
这里没有足够的上下文来提供比这更好的答案。你想关闭什么窗口?消息框的父窗口是什么?什么行抛出CompositionException?
(请注意,直接从ViewModel显示消息框已经是一个非常值得怀疑的做法,类似于(imo)显示来自不显示其他UI的库的消息框。)