silverlight - 如何从 ViewModel 中关闭 Silverlight 子项?

标签 silverlight mvvm viewmodel childwindow

我有一个用于登录的子窗口。以前,很大一部分代码位于窗口的代码后面。我重构了所有内容以适应 MVVM 模型。一切正常,只是完成后我无法关闭子窗口。

我已经研究了如何从虚拟机完成此任务,但我尝试过的所有方法都没有成功。

有什么想法吗?

最佳答案

添加 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

关于silverlight - 如何从 ViewModel 中关闭 Silverlight 子项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15478877/

相关文章:

c# - 如何在 C# 中将类型 'system.windows.media.imagesource' 转换为 'system.drawing.image' 或 byte[]?

c# - Moonlight、WebClient 和 "Exception has been thrown by the target of an invocation"

c# - 模型中的 Mvvm 嵌套属性已更改

binding - MvvmCross Android Dialog Bing 以编程方式 - ViewModel 未更新

android - 轮换 Activity 时如何不破坏ViewModel

android - SavedStateViewModelFactory 用空构造函数构造

wpf自定义TabControl

c# - 从 View 模型调用方法的命令

c# - 如何将 MaterialDesignXamlToolkit 包含到 WPF 类库中?

wpf - 为什么 WPF 支持多重绑定(bind),但 silverlight 不支持?