2

我有一个带有页面导航的 WPF 应用程序。我使用 MvvmLight 工具包。我有两个页面:(FirstPage默认页面)和SecondPage. 在FirstPage我导航到SecondPage.

我想将参数传递给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)方式来回答这个问题:

第一页上的代码 -

        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 回答