2011-09-17 6 views
1

私は2つのxamlページで構成されるwp7アプリケーションで作業しています。 ページはPage1Page2です。 スライダーからなり、値域の範囲はからの間です。 私のプログラムは、スライダをスライドさせてvalue = 10に達すると、Page2に移動する必要があります。 これまでのところとても良いです。 Page2がロードされたら、私はスライダの値をに設定します。 しかし、Windowsの電話機で「戻る」キーを押すと、Page2 &にPage2がナビゲートされ、スライダの値は()になります。 Page2からスライダのコーディングを行うことができません。 どうすればいいですか?wp7の2つのxamlページ間でオブジェクトにアクセスするには?

ページ1(メインページ)のためのプログラムが

名前空間のProgressBar { 公共部分クラスのメインページです:{

public MainPage() 
    { 

     InitializeComponent(); 


    } 

ます。private void slider1_ValueChanged(オブジェクト送信者、RoutedPropertyChangedEventArgs E) {

PhoneApplicationPage
 if(slider1.Value==10) 

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

答えて

1

この場合、Page2にナビゲートする前に、またはnavigateServiceでNavigateServiceにイベントが存在する場合は、スライダーを0にリセットしてください。

通常のアプリケーションで情報を共有するには、静的なクラス/フィールドやオブジェクトを解析するだけでかまいません。あるいは、ファイルの設定/情報をそのまま渡すこともできます。他の環境と同じです。

+0

navigateする前にスライダを0にリセットしようとしました。私が行ったことはif()ブロックの外側です。スライダ1の値を0に設定しました。しかし、私がプロラムを走らせると、スライダーは全く動きません!今私は何をすべきですか? –

+0

ifブロックの外側にありますか?これは、NavigationService.Navigate呼び出しの前に行う必要があります。 – Carsten

+0

ナビゲーション呼び出し後も同様に機能します。 Navigateの呼び出しはreturn文と同じではないため、同じツリー内のすべてのコードが実行されます。 –

1

Page.OnNavigatedToイベントでスライダ値を0にリセットします。

+0

どうすればいいですか?私は自分のコードを提供しました。あなたのロジックごとに構文とコーディングを手伝ってください。 –

関連する問題