2

ページ ナビゲーションを備えた WPF アプリケーションがあります。MvvmLight ツールキットを使用しています。FirstPage(既定のページ) との 2 つのページがありSecondPageます。に移動FirstPageSecondPageます。

にパラメータを渡したいSecondPage

//code on FirstPage
NavigationService.NavigateTo(new Uri("SecondPage.xaml", UriKind.Relative));
Messenger.Default.Send<string>("my mess");

//code on SecondPage
//constructor
public SecondPage()
{
  Messenger.Default.Register<string>(this, GetMess);
}

private void GetMess(string obj)
{

}

最初に起動すると、うまくいきません。SecondPage のインスタンスを作成できます。

PageSecond page = new  PageSecond();

しかし、それは美しくありません。お願い助けて。

4

1 に答える 1

0

コード ビハインドでこのようなコードを使用すると、MVVM の原則に従っていません。したがって、ここで開始した後は、これに答える簡単な(非MVVM)方法です:

FirstPage のコード -

        Page secondPage = new SecondPage("Hello");
        NavigationService.Navigate(secondPage);

SecondPage のコード

    // Public parameterless constructor - needed for designer
    public SecondPage()
    {
        InitializeComponent();
    }

    // Constructor with parameter 
    public SecondPage(string parameter)
    {
        InitializeComponent();
        MyTextBox.Text = parameter;
    }
于 2013-06-14T14:58:52.477 に答える