Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Caliburn Micro中的条件导航_C#_Windows Phone 8_Caliburn.micro - Fatal编程技术网

C# Caliburn Micro中的条件导航

C# Caliburn Micro中的条件导航,c#,windows-phone-8,caliburn.micro,C#,Windows Phone 8,Caliburn.micro,我正在windows phone 8应用程序中使用Caliburn Micro,该应用程序带有可绑定的应用程序栏。 当我单击按钮时,我希望在事件中检查我是否导航到与当前显示的页面相同的页面 这里的代码是什么 if((Check with navigation service if you are navigating to the same page) == true) return; else NavigationService.UriFor<ViewModel>(

我正在windows phone 8应用程序中使用Caliburn Micro,该应用程序带有可绑定的应用程序栏。 当我单击按钮时,我希望在事件中检查我是否导航到与当前显示的页面相同的页面

这里的代码是什么

if((Check with navigation service if you are navigating to the same page) == true)
    return;
else
    NavigationService.UriFor<ViewModel>().Navigate();
if((如果导航到同一页面,请与导航服务联系)=true)
返回;
其他的
NavigationService.UriFor().Navigate();

当Caliburn Micro通过ViewModels导航时,应该可以

if (this.GetType() != typeof(CurrentViewModel)) 
  { 
    NavigationService.UriFor<SomeNewViewModel>().Navigate();
  }
if(this.GetType()!=typeof(CurrentViewModel))
{ 
NavigationService.UriFor().Navigate();
}

如果您停留在同一页面上,为什么要导航?我假设您有一些全局导航栏,出于某种原因,它允许您导航到当前实际访问的同一位置?我使用的是绑定到ViewModelBase类中定义的事件的可绑定应用程序栏,因此该功能由实现该功能的所有ViewModels共享基类。我意识到当按下同一个按钮时,没有导航发生,所以我在这方面做得很好。但应用程序栏消失并重新出现。我想阻止这种事情发生