2012-11-17 63 views
0

我正在使用Visual Studio Express 2012 for Windows Phone并构建一个针对Windows Phone 7.1的应用程序。navigationservice没有定义构造函数

我想使用NavigationService导航到不同的页面,但我一直遇到问题。

这里是我的代码:

private void GotoDetails(object _url) 
    { 
     var url = string.Format("/DetailsPage.xaml?url={0}", _url.ToString()); 
     NavigationService nav = new NavigationService(); 
     nav.Navigate(new Uri(url, UriKind.Relative)); 
    } 

当我尝试建立这个我得到一个“类型‘System.Windows.Navigation.NavigationService’没有定义的构造”上的NavigationService资产净值= ...线。

如果我试图做的只是NavigationService.Navigate(新的Uri(url,UriKind.Relative));那么我会得到一个“非静态字段,方法或属性'System.Windows.Navigation.NavigationService.Navigate(System.Uri)''错误需要对象引用。

更新:我想使用MVVM(第一次)。这段代码驻留在我的视图模型中。我没有使用任何框架。试图从头开始学习它。

我已经搜索了intertubes,但似乎无法找到解决方案。

任何帮助,非常感谢。

卡迈勒

回答

2

你是一个页面内? NavigationService是Page类的一个属性:http://msdn.microsoft.com/en-us/library/system.windows.controls.page.navigationservice(v=vs.92).aspx

+0

我想要使用MVVM(第一次)。这段代码驻留在我的视图模型中。 – Kamal

+0

是的导航是不是mvvm友好。我认为这是视图的一部分,所以我通常没有这个问题。但是你可以在视图模型中使用它(仍然不太漂亮): var root = App.RootVisual as PhoneApplicationFrame; root.Navigate(new Uri(“/ somepage.xaml”,UriKind.Relative)); – dotMorten

+0

我还发现这篇文章有助于创建一个与MVVM一起使用的导航服务:http://www.windowsphonegeek.com/articles/MVVM-in-real-life-Windows-Phone-applications-Part2 – Kamal

相关问题