用于与另一个dll mvvm通信的调解器

时间:2015-08-03 21:58:15

标签: c# wpf user-controls createinstance

我有一个 mainWindow ,它从dll加载用户控件( mainUCView.xaml )。我在mainUCView.xaml中放置了另一个用户控件( subUCView.xaml )。             单击subUCView中的按钮,我需要通知主窗口关闭。

我使用MVVM模式,我尝试使用 Mediator - 在mainWindow的viewModel中注册消息,并从subUCView Viewmodel通知该消息。这不会通知我的mainWindow。

另外,只是一个想法 - 如果我可以使用事件,如果不是Mediator,那么可以使用吗?在从dll加载的另一个用户控件中从Usercontrol通知mainWindow的最佳方法是什么?

在mainWindow View模型中,我有一个中介类并注册了IsLoginSuccessful消息,如下所示:

        public mainWindow()
        { Mediator.Register("IsLoginSuccessful",OnLoginSuccessful);}

        //Giving the definition for LoginSuccessful in the MainWindowViewmodel itself
        private void OnLoginSuccessful(object param)
        {
            //Do Something
        }

在subUCView的viewmodel中,完成特定的过程后:

    public subUCViewSomeFunction
        {
            //Do Some login process
            Mediator.NotifyMessage(IsLoginSuccessful, true);
        }

这不会通知MainWindow View模型回调。我在每个类中分别有调解器类。是不是因为他们之间没有发生握手?有人可以帮忙吗?

0 个答案:

没有答案