2011-08-26 2 views
1

access_token이 설정되지 않은 경우 MainPage.xaml로 이동하려고합니다.NavigationService 소스를 설정할 때 NullReferenceException이 발생합니다.

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

       }.../ 
+0

아마도 'NavigationService'는 null입니다. 초기화 된 곳은 어디입니까? – ChrisF

+0

이것이 Windows Phone에도 적용될 수 있습니까? http://stackoverflow.com/questions/2712218/silverlight-navigationservice-is-always-null – UrbanEsc

+0

@UrbanEsc 근본 원인은 동일 할 수 있습니다. OP에는 자세한 내용이 없습니다. 그러나 나는 신중한 생각없이 Windows Phone에서 RootFrame을 변경하는 것에 대해 긴장 될 것입니다. Silverlight Toolkit은이 기술을 사용하여 페이지 전환 애니메이션을 지원하지만 그 사람들은 자신이하는 일을 알고 있습니다.) –

답변

5

이 자신의 메인 페이지입니다 방금 응용 프로그램 나는 MainPage 개체가 처음 구성 될 때 실버 라이트 NavigationService이 시간에 초기화되는 것을 기대하지 않을 것이다을 시작하는 경우. MainPage 생성자에서 Menu를 생성하고 있다고 가정하면 NullReferenceException을 설명 할 수 있습니다.

MainPage에서 나중의 이벤트에서 내비게이션을 실행해야합니다. 그것이 나 였다면 먼저 Loaded 이벤트를 시도해 볼 것이지만이 동작을 올바르게하기 위해서는 실험을해야 할 수도 있습니다 ...

+2

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

관련 문제