2010-12-14 8 views
1

사용자가 이미 등록되어 있는지 여부에 따라 시작 페이지를 변경해야하는 WP7 응용 프로그램이 있습니다. 사용자가 등록 되었다면 페이지를 등록하지 않으면 그를 환영 페이지로 리디렉션해야한다고 가정합니다.WP7 응용 프로그램의 시작 페이지를 변경하는 방법

나는 아래 코드 몇 가지를 시도했지만 예외 처리를 제공합니다.

위의 기능을 달성하기 위해 내 MainPage.xaml 생성자에서 탐색 코드를 작성했습니다. 사용자 등록 정보가 격리 된 저장소에 없는지 확인한 다음 다른 페이지로 리디렉션합니다.

private void IsAgreeed() 
    { 
     try 
     { 
      isoStorage = IsolatedStorageFile.GetUserStoreForApplication(); 
      if (!isoStorage.FileExists("DataBase/MyPhoneNumber.txt")) 
      { 
       this.NavigationService.Navigate(new Uri("/EULA.xaml", UriKind.Relative));     
      } 
      else 
      { 
       return; 
      } 
     } 
     catch (Exception ex) 
     { 
      Debug.WriteLine(ex.ToString()); 

     } 
    } 

위 코드는 처음 사용할 때 제대로 작동하지만 응용 프로그램을 닫고 다시 시작하면 예외 예외 처리 예외가 발생합니다.

감사합니다. nil

+0

가능한 복제본 [WP7 Silverlight 응용 프로그램의 시작 페이지를 변경하려면 어떻게합니까?] (http://stackoverflow.com/questions/3892271/how-do-i-change-the-startup-page-on- a-wp7-silverlight-app) – ctacke

+0

바, 잘못된 링크. 여기에 기존 질문이 있습니다. http://stackoverflow.com/questions/4303403/windows-phone-7-sign-in-screen-redirect – ctacke

+0

시도해보십시오 : using (IsolatedStorageFile isoStorage = IsolatedStorageFile.GetUserStoreForApplication()) {// your code } – eSniff

답변

3

피터 토르 아주 잘 여기 페이지 리디렉션을 다룹니다. 상대적인 장점을 다루는 두 가지 방법이 제공됩니다. 편집 : 로그인 처리에 대한 팝업 제안을 사용하는 대신 로그인 페이지로 리디렉션 할 수 있습니다.

Redirecting an initial navigation - Peter Torr's Blog

또한 여기 장소에 그의 동반 게시물 익숙 권 해드립니다.

Introducing the concept of “Places” - Peter Torr's Blog

이 주소 다시 스택 (인증 고려) 처리 및 로그인 페이지와 같은 시나리오를 해결합니다.

+0

고마워요 ... 저는 이것들을 보았고 Peter에 의해 제안 된대로 UriMapper 방식을 사용하여 구현했지만 여전히 구현해야하는 좀 더 복잡한 기능이 필요합니다. 사용자가 등록되지 않은 경우 먼저 사용자가 Eula 페이지 즉 Eula.xaml로 리다이렉트 한 다음 Register.xaml과 MainPage.xaml로 리다이렉트하면됩니다.하지만 MainPage.xaml을 Eula에 매핑하면 사용자를 리디렉션 할 때 MainPage.xaml에 등록하면 다시 Eula로 리디렉션됩니다. 어떻게해야합니까? – nilMoBile

0

이것을 달성하기 위해 MainPageorEula.xaml을 설치하고 필요한 기능을 얻었습니다.

관련 문제