2011-09-17 5 views
1

두 xaml 페이지로 구성된 wp7 응용 프로그램에서 작업하고 있습니다. 페이지는 Page1Page2입니다. 슬라이더으로 구성되고 에서 사이의 값 범위를가집니다. 내 프로그램은 슬라이더를 이동하여 값 = 10에 도달하면 Page2로 이동해야합니다. 지금까지 너무 좋아. 그러나 Page2가로드 될 때 슬라이더에 값을 설정해야합니다. 그러나 Windows 전화에서 "뒤로"키를 누르면 페이지 2는 Page12 &으로 이동합니다. 슬라이더의 값은 입니다 (이어야합니다). Page2에서 슬라이더 코딩에 액세스 할 수 없어 코딩 할 수 없습니다! 어떻게해야합니까?wp7에서 두 xaml 페이지 사이의 개체에 액세스하는 방법?

페이지 1 (MainPage)에 프로그램

공간의 ProgressBar { 공용 부분 클래스 MainPage이다 : {

public MainPage() 
    { 

     InitializeComponent(); 


    } 

개인 무효 slider1_ValueChanged (객체 송신자 RoutedPropertyChangedEventArgs E) {

하여 PhoneApplicationPage
 if(slider1.Value==10) 

     { 
      NavigationService.Navigate(new Uri("/Page2.xaml", UriKind.Relative)); 
     } 
    } 
} 
} 

답변

1

이 경우에는 Page2로 이동하기 전에 또는 navigate back (NavigationService에서이 이벤트가 있음)하기 전에 슬라이더를 0으로 재설정하면됩니다.

일반적인 경우 응용 프로그램에서 정보를 공유하려면 정적 클래스/필드 또는 개체를 구문 분석하거나 파일의 설정/정보 만 전달하면됩니다. 다른 환경과 동일합니다.

+0

탐색하기 전에 슬라이더를 0으로 재설정하려고했습니다. 내가 한 일은 if() 블록 외부에서 slider1.value = 0으로 설정했습니다. 하지만 제가 프로 햄을 돌릴 때, 슬라이더는 전혀 움직이지 않습니다! 지금 어떻게해야합니까? –

+0

if 블록 외부에 있습니까? NavigationService.Navigate 호출 전에이 작업을 수행해야합니다. – Carsten

+0

네비게이션 호출이 제대로 작동하면. Navigate에 대한 호출은 return 문과 동일하지 않으므로 동일한 트리의 모든 코드가 여전히 실행됩니다. –

1

Page.OnNavigatedTo 이벤트에서 슬라이더 값을 0으로 재설정하십시오.

+0

어떻게해야합니까? 내 코드를 제공했습니다. 논리와 함께 구문 및 코딩을 도와주세요. –

관련 문제