繁体   English   中英

WPF应用程序发送参数(带有页面导航的MvvmLight)

[英]WPF application send parameters (MvvmLight with Page navigation)

我有一个带有页面导航的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();

但它并不美丽。 请帮帮我。

您没有遵循MVVM原理,而在后面的代码中没有像这样的代码。 因此,从这里开始是一种简单的(非MVVM)方式来回答此问题:

FirstPage上的代码-

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

第二页上的代码

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

    // Constructor with parameter 
    public SecondPage(string parameter)
    {
        InitializeComponent();
        MyTextBox.Text = parameter;
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM