2011-08-26 42 views
1

我試圖導航到MainPage.xaml如果access_token未設置。NullReferenceException當設置NavigationService源

public Menu() 
      { 
       InitializeComponent(); 
       if (((App)App.Current).access_token == null) { 
        NavigationService.Source=new Uri("/MainPage.xaml", UriKind.Relative);//NullReferenceException 

       }.../ 
+0

推測'NavigationService'爲空。這個初始化在哪裏? – ChrisF

+0

這也適用於Windows Phone嗎? http://stackoverflow.com/questions/2712218/silverlight-navigationservice-is-always-null – UrbanEsc

+0

@UrbanEsc根本原因可能是相同的,從OP沒有太多的細節。不過,如果不仔細考慮,我會很擔心在Windows Phone中更改RootFrame。例如:Silverlight工具包使用這種技術來支持頁面轉換動畫,但這些人知道他們在做什麼;) –

回答

5

如果這是你的主頁,你是剛剛開始應用,我不會想到的是,Silverlight的NavigationService在時間當MainPage對象首先構建初始化。我猜你正在MainPage構造函數中創建Menu,所以這會解釋NullReferenceException

您將需要在稍後的MainPage頁面中觸發導航。如果是我,我會首先嚐試Loaded事件,但是您可能需要試驗才能使此行爲正確...

+2

this.Loaded + =(a,b)=> {** my code **} – SevenDays