如何从ViewModel关闭Silverlight子项?

时间:2013-03-18 14:10:24

标签: silverlight mvvm viewmodel childwindow

我有一个用于登录的子窗口。以前,大部分代码都在Window的代码后面。我重构了所有这些以适应MVVM模型。这一切都有效,除非我完成后无法关闭子窗口。

我已经研究过如何从VM完成此任务,但我尝试过的所有内容都没有结束。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

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

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

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

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

另见

  

Creating an MVVM friendly dialog strategy