私は2つのビューとそれに対応するビューモデルを持っており、次のように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 が設定されません。何か不足しています。助けてください