我有两个视图及其对应的 ViewModel,我想使用 MVVM Light 将文本从一个视图发送到另一个视图,如下所示
在第一个视图模型中,我正在调用以下方法
public void NavigatePage()
{
string temp = "temp value";
Messenger.Default.Send("temp");
Frame frame = Window.Current.Content as Frame;
if (frame != null) frame.Navigate(typeof(MyPage), temp);
}
在第 2 页视图模型中,我有以下代码
public MyViewModel()
{
Messenger.Default.Register<string>(this, MessageReceived);
}
private string test;
public string Test
{
get { return test; }
set { test = value; RaisePropertyChanged("Test");}
}
private void MessageReceived(string message)
{
Test = message;
}
当我调试我的代码时,这个视图模型的 ctor 被调用但 MessageReceived 没有被调用,因此属性 Test 永远不会被设置,我遗漏了一些东西,请帮忙