C# Mvvm后退按钮:页面和视图模型失去命令绑定

C# Mvvm后退按钮:页面和视图模型失去命令绑定,c#,mvvm,mvvm-light,C#,Mvvm,Mvvm Light,我使用MVVM Light实现了以下模式: 我将其与以下内容结合使用: private静态INavigationService CreateNavigationService() { var navigationService=新的navigationService(); 配置(“详细信息”,typeof(DetailsPage)); navigationService.Configure(“图表”,类型(图表页)); //手柄后退按钮 HardwareButtons.BackPressed+

我使用MVVM Light实现了以下模式:

我将其与以下内容结合使用:

private静态INavigationService CreateNavigationService()
{
var navigationService=新的navigationService();
配置(“详细信息”,typeof(DetailsPage));
navigationService.Configure(“图表”,类型(图表页));
//手柄后退按钮
HardwareButtons.BackPressed+=(发送方,参数)=>{
navigationService.GoBack();
args.Handled=true;
};
返回导航服务;
}
导航至详细信息页面和/或图表页面有效,后退按钮也有效。但在那之后,我无法再次导航到其中一个页面

看起来主页及其ViewModel没有重新加载(缓存?)。所以他们失去了束缚。
RelayCommand
未设置,因此无法再进行导航

有人能帮我吗

编辑:找到解决方案:)


致以最诚挚的问候,Rick将ViewModel中的代码更改为:

public主视图模型(INavigationService导航服务)
{
_导航服务=导航服务;
DetailsCommand=新的RelayCommand(()=>
{
navigationService.NavigateTo(“详细信息”、“我的数据”);
});
}
致:

public主视图模型(INavigationService导航服务)
{
_导航服务=导航服务;
DetailsCommand=新的RelayCommand(()=>
{
_navigationService.NavigateTo(“详细信息”、“我的数据”);
});
}

导航功能现在可以来回运行。

那么您改变了什么?