2011-07-29 41 views
0

我有一個導航問題,我的應用程序的Forms.Name是SchoolManagement。從一種形式導航到另一種

  1. this.NavigationService.Navigate(new Uri("FormName", UriKind.Relative));
    當我使用這行代碼瀏覽它顯示SchoolManagement的錯誤不包含的NavigationService althogu我在aplication使用System.Windows.Navigation;添加的名稱空間 的定義。

  2. NavigationService.Navigate(new Uri("formName.xaml", UriKind.Relative));
    當我使用此代碼時,它顯示非靜態字段需要對象引用。

  3. System.Windows.Browser.HtmlPage.Window.Navigate(new Uri("http://www.google.com"));
    最後代碼時,我用這個及其連接到google.com,但是當我與我的形式取代它它不是導航到它。

任何人都可以請指出mistake..its緊急

感謝

回答

0

的導航服務是System.Windows.Browser.HtmlPage.Window.Navigate不同。瀏覽器導航將帶您到一個新的網址。導航服務專門用於使用Silverlight導航服務在Silverlight應用程序中的頁面之間進行切換。你是否將Silverlight項目創建爲「Silverlight導航應用程序」?如果是這樣,那麼代碼應該適合您使用NavigationService.Navigate如您所描述的。如果不是這個問題可能是您用來設置導航服務的代碼。

+0

好吧,最簡單的方法是將您的應用重新創建爲「Silverlight導航應用」,因爲它將全部爲您設置。但是,如果這對您的情況不太實際,則需要確保您有「Frame」控件(可能位於MainPage.xaml中)。如果您在一個名爲frame1的變量中引用了框架控件,則可以通過調用實例方法frame1.Navigate(Uri uri)來進行導航。這個uri由Frame控件中的UriMapper解釋(如果你設置了一個)。另外,您創建的每個頁面都應該從「頁面」控件繼承。 –

+0

我剛纔回想起來的另一個重要部分是,如果你手動設置它,你需要在你的項目中引用System.Windows.Controls.Navigation。 NavigationService應該可以從加載到導航框架中的任何頁面訪問。這個網頁似乎對整個系統有很好的描述:[link](http://www.silverlightshow.net/items/The-Silverlight-3-Navigation-Framework.aspx) –

相關問題