目指せ!万能クリエーター!!デザイン・コーディングプログラミングまで幅広く書いています。

準備中

スポンサーサイト

このエントリーをはてなブックマークに追加
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

自分メモ*ページの移行+ついでにデータも移行*

このエントリーをはてなブックマークに追加
ページ移行についての自分メモ。
トップページから次のページに移行したい場合、

ボタンイベントの中に下記のように追記ます。

NavigationService.Navigate(new Uri("/NextPage.xaml", UriKind.Relative));

赤線は移行したいページのXAML名でオッケーです。

さらに変数のデータも一緒に次ページへ持っていきたい場合は…?

vs.jpg
上のように年齢や性別の値を次のページまで送りたい!
C#のclass mainPageの中にprivate変数を用意します。

*MainPage.xaml.cs*
privpublic partial class MainPage : PhoneApplicationPage
{
          private int _seibetu; //見たまんま性別
          private int _nenrei; //みたまんま年齢

それぞれの値はtapイベントやDateTimePickerなどで値を入れますが、ここでは説明を省きます~。今回は便宜上int型にしました。

**
NavigationService.Navigate(new Uri("/nextpage.xaml?値のキーA=変数A&値のキーB=変数B", UriKind.Relative));


実際にこの変数A、Bに実際の変数を入れるとこんな感じ。

**
NavigationService.Navigate(new Uri("/"/NextPage.xaml?seibetu="+ _seibetu + "&nenrei=" + _nenrei, UriKind.Relative));

値は&つなげば複数送ることが出来ますが、あまり多すぎると見た目がよろしくないです。
文字列の中に変数を入れるので変数の部分は"をはずして+でつなぐという事を忘れないでくださいね。
私はしょっちゅう忘れます (笑。

そして、次のページでの値の引き継ぎ方。

*NextPage.xaml.cs*
   private int _seibetu;//引き継いだ値を代入する変数を用意
   private int _nenrei;//

   public NextPage()
   {
      InitializeComponent();
   }
   //引き継いだ値を呼び出す
   protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
   {
      IDictionary param = this.NavigationContext.QueryString;

      //指定するキーがあれば値を変数に代入
      if (param.ContainsKey("seibetu") && param.ContainsKey("nenrei"))
      {
         this._seibetu = int.Parse(param["seibetu"]);
         this._age = int.Parse(param["nenrei"]);

      }
   }

スポンサーサイト
  1. 2012/05/24(木) 11:47:05|
  2. C#
  3. | トラックバック:0
  4. | コメント:0
<<自分メモ*少ないコードで年齢を計算* | ホーム | 名入れデータを作成しよう!>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://gatoprateado.blog.fc2.com/tb.php/8-29d0b5b8
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。