Windows phone 7 使用RelayCommand导航<;T>;在MVVM光下

Windows phone 7 使用RelayCommand导航<;T>;在MVVM光下,windows-phone-7,mvvm-light,Windows Phone 7,Mvvm Light,我一直在关注Jesse Liberty关于WindowsPhone 7的MVVM Light的文章,但我一直在关注这个问题。我需要从主页导航到详细页面。在本教程之后,我将在MainViewModel中使用RelayCommand: public RelayCommand<Customer> DetailsPageCommand { get; private set;} 显示消息框是可行的,但我不确定如何导航到详细信息页面。在本教程的前几节中,页面导航的处理方式如下: var msg

我一直在关注Jesse Liberty关于WindowsPhone 7的MVVM Light的文章,但我一直在关注这个问题。我需要从主页导航到详细页面。在本教程之后,我将在MainViewModel中使用RelayCommand:

public RelayCommand<Customer> DetailsPageCommand { get; private set;}
显示消息框是可行的,但我不确定如何导航到详细信息页面。在本教程的前几节中,页面导航的处理方式如下:

var msg = new GoToPageMessage {PageName = "DetailPage"};
Messenger.Default.Send(msg);

您需要注册以接收该类型的邮件,然后进行适当导航。
下面假设一个页面名,并且您通过在查询字符串中传递特定客户的Id来导航到该客户的详细信息

Messenger.Default.Register<Customer>(
    this,
    c => NavigationService.Navigate("/Pages/CustomerDetails.xaml?cid=" + c.Id));
我希望这有帮助

var msg = new GoToPageMessage {PageName = "DetailPage"};
Messenger.Default.Send(msg);
Messenger.Default.Register<Customer>(
    this,
    c => NavigationService.Navigate("/Pages/CustomerDetails.xaml?cid=" + c.Id));
private void GoToDetailsPage(Customer msg)
{
    Messenger.Default.Send(msg);
}