0

私は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 が設定されません。何か不足しています。助けてください

4

1 に答える 1