Caliburn Micro - 是否可以拦截执行命令的调用?

时间:2011-09-30 16:35:22

标签: caliburn.micro

我想在我的视图模型中添加错误处理,以便在执行命令并抛出异常时,会正常处理错误并显示模式对话框。

我有这个工作,但我的做法过于冗长。错误被捕获在命令中,然后通过IObservable发布。行为订阅错误 - 创建适当的视图模型并传递给WindowManager。虽然它有效,但我更喜欢更具说明性的东西。

相反,我想装饰或拦截对命令的调用(绑定到按钮)并提供一般的错误处理。 try-catch可能会调用视图模型或使用Rescue属性修饰的命令的方法。

我知道这在Caliburn中是可能的,但可以用Micro完成吗?也许还有另一种方法吗?

1 个答案:

答案 0 :(得分:0)

查看我在SO上提出的this问题,然后通过CM codeplex论坛帮助回答。

我稍微修改了this CM过滤器实现的RescueAttribute,以允许错误处理例程作为协程执行。

这与一些示例中提供的ShowModal IResult结合使用可以获得您想要的效果。