2011-09-17 88 views
1

我正在處理由兩個xaml頁面組成的wp7應用程序。 Pages is Page1 and Page 2。 Page1由滑塊組成,其具有在至之間的值的範圍。 我的程序是,如果我滑動滑塊達到值= 10,它應該導航到Page2。 目前爲止這麼好。 但是,當加載Page2時,我希望我的滑塊將其值設置爲。 但是,當我按下我的Windows Phone上的「後退」鍵時,Page2導航到Page1 &滑塊的值爲= (應該是)。 我無法對Page2進行滑塊編碼,因爲它無法訪問它! 我該怎麼做?如何訪問wp7中兩個xaml頁面之間的對象?

爲第1頁(的MainPage)程序是

命名空間進度 { 公共部分類的MainPage:的PhoneApplicationPage {

public MainPage() 
    { 

     InitializeComponent(); 


    } 

私人無效slider1_ValueChanged(對象發件人,RoutedPropertyChangedEventArgs E) {

 if(slider1.Value==10) 

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

回答

1

在這種情況下,只需將滑塊重置爲0,然後再導航到頁面2或導航時(NavigationService中有此事件)。

要在一般情況下共享應用程序中的信息,您只需使用靜態類/字段或對象解析或只是將設置/信息保存在文件上。這與任何其他環境一樣。

+0

我試圖在導航之前將滑塊重置爲0。我所做的是在if()塊之外,我將該值設置爲slider1.value = 0;但是當我運行prohram時,滑塊完全不動!現在我該怎麼辦? –

+0

if-block之外?您應該在NavigationService.Navigate調用之前執行此操作。 – Carsten

+0

導航調用也起作用。對Navigate的調用與return語句不等價,因此同一樹中的所有代碼仍然執行。 –

1

Page.OnNavigatedTo事件中將Slider值重置爲0。

+0

我該怎麼做?我已經提供了我的代碼,請按照您的邏輯幫助我完成語法和編碼。 –

相關問題