gpt4 book ai didi

c# - MVVM 异常处理

转载 作者:太空狗 更新时间:2023-10-29 17:30:48 25 4
gpt4 key购买 nike

我有一个 WPF 应用程序,我一直在尝试以 MVVM 风格编写。如果抛出异常(例如打开文档时),我想显示一个 MessageBox。很容易做到,但我的代码感觉不太正确,因为 MessageBox.Show 调用在 ModelView 中。我认为那种东西应该存在于 View 中,但我不应该将代码放入 View 中。

所以这个问题真的可以归结为在 MVVM 中显示 MessageBox 的建议方式是什么?

最佳答案

使用服务:

public void SomeMethodInYourViewModel()
{
try
{
DoSomethingDangerous();
}
catch (Exception ex)
{
ServiceLocator.Resolve<IMessageService>().ShowMessage(ex.Message);
}
}

您现在已经将 VM 与消息呈现分离。您甚至可以决定根本不使用标准(丑陋的)消息框,这不会影响您的虚拟机。

关于c# - MVVM 异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1336646/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com