C# 如何向视图通知命令的成功

C# 如何向视图通知命令的成功,c#,wpf,mvvm,C#,Wpf,Mvvm,我正在开发一个遵循MVVM模式的小型数据库应用程序。为了修改数据库,我在视图中使用对话框,然后调用视图的视图模型中定义的命令。但是,我如何告知该命令的成功/结果 一个简单的例子:用户想要删除一行,但仍然存在剩余关系,因此无法删除该行。根据我对MVVM的理解和看法,视图的任务是通知故障,视图的任务是通知用户问题。我认为在操作失败后直接从视图模型创建这个特殊视图是错误的。我考虑了一些事件来解决这个问题,比如我用于视图模型通信的中介模式。但这些事件也应该允许传递参数。在本例中,参数应该是一个包含所有剩

我正在开发一个遵循MVVM模式的小型数据库应用程序。为了修改数据库,我在视图中使用对话框,然后调用视图的视图模型中定义的命令。但是,我如何告知该命令的成功/结果

一个简单的例子:用户想要删除一行,但仍然存在剩余关系,因此无法删除该行。根据我对MVVM的理解和看法,视图的任务是通知故障,视图的任务是通知用户问题。我认为在操作失败后直接从视图模型创建这个特殊视图是错误的。我考虑了一些事件来解决这个问题,比如我用于视图模型通信的中介模式。但这些事件也应该允许传递参数。在本例中,参数应该是一个包含所有剩余关系的字符串,这样用户也可以理解操作失败的原因


有人提出解决这个问题的建议吗?我将非常感谢你的帮助

在您的情况下,行应该位于绑定的集合中。视图只需向viewmodel发送一个命令,该命令表示删除这一行,它的兴趣应该到此为止。viewmodel应该负责实际删除该行并将其从集合中删除。

在您的情况下,该行应该位于绑定的集合中。视图只需向viewmodel发送一个命令,该命令表示删除这一行,它的兴趣应该到此为止。viewmodel应该负责实际删除该行并将其从集合中删除。

选项1。在视图模型类中使用错误集合ObservableCollection。将视图中的任何项控件绑定到此集合。当命令出错时,将错误添加到“错误”集合

备选案文2。当命令出现故障时,向用户显示带有错误消息的消息框。要跟踪MVVM,请通过服务显示它,或向任何类似中介的类型发布消息


在集合中添加新错误或消息框这两个选项必须在视图模型中实现,而不是在视图中实现。

选项1。在视图模型类中使用错误集合ObservableCollection。将视图中的任何项控件绑定到此集合。当命令出错时,将错误添加到“错误”集合

备选案文2。当命令出现故障时,向用户显示带有错误消息的消息框。要跟踪MVVM,请通过服务显示它,或向任何类似中介的类型发布消息

在集合中添加新错误或消息框这两个选项都必须在视图模型中实现,而不是在视图中实现