2012-11-17 64 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

相關問題