如何从ViewModel中关闭Silverlight子节点?



我有一个用于登录的子窗口。以前,很大一部分代码都在windows的后台代码中。我重构了所有这些以适应MVVM模型。这一切都在工作,除了我不能关闭子窗口当它完成。

我已经研究了如何从虚拟机完成这个任务,但是我所尝试的一切都没有成功。

任何想法?

添加Finished事件到视图模型。当需要关闭时,调用OnFinished方法

public event EventHandler Finished;
protected void OnFinished()
{
    if (Finished != null)
        Finished(this, new EventArgs());
}

从子窗口后面的代码订阅事件并实际关闭窗口。

ViewModel.Finished += (s, e) => Close();

参见

创建MVVM友好对话框策略

最新更新