我正在用 MVVM 编写一个应用程序,到目前为止效果很好。但我正在 ViewModel 中工作,这会引发一个错误,我想向用户展示让他们知道。
我可以在我的 ViewModel (VM) 中做这样的事情:
MessageBox.Show(errorMessage);
或更可能是这样的:
new ErrorMessageWindow(errorMessage).ShowDialog()
所以我可以设计它。
问题是我正在从 VM 创建一个 UI 弹出窗口。我正在为应用程序创建单元测试,它也会弹出窗口并停止运行,直到它被手动关闭。
寻找一个好的方法。
我正在考虑在 VM 中引发一个事件 - 但由于 View 确实不了解 VM 或其属性,我不知道我将如何订阅它。
我没有使用任何外部框架——我宁愿自己实现任何东西。