一个人能解释的调解模式如何与多个实例的工作。

我的视图中的代码:

public MyView() {
    Mediator.Register("CloseWindow",()=>Close());
}

和在视图模型:

public SomeMethod() {
    Mediator.Notify("CloseWindow");
}

此工作发现,只要有视图的一个实例 - 视图模型对

我如何与多个实例解决呢?

有帮助吗?

解决方案

我使用的替代解决方案。 MyView的实现其中包含关闭方法的接口IMyView。所述MyViewModel对象相关联的视图,因此它可以调用通过接口Close方法。

如果您有兴趣在一个具体的例子,那么你可能看看:

WPF应用程序框架(WAF)

其他提示

我不知道你的调解模式的具体实现是如何工作的,但在我的,你可以不只是字符串发送更多的信息。

例如:

public MyView() {
    Mediator.Register<CloseWindowMessage>(message =>
    {
        if (message.ViewModel == DataContext) Close();
    });
}    

和在视图模型:

public SomeMethod() {
    Mediator.Notify(new CloseWindowMessage(this));
}

在该示例中,视图模型通过本身作为参数的图。那么该视图可以检查正被从它的视图模型发送的消息。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top