我有一个带页面导航的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();
但它并不美丽。请帮帮我。
答案 0 :(得分: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;
}