我有一个 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模型回调。我在每个类中分别有调解器类。是不是因为他们之间没有发生握手?有人可以帮忙吗?