C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: WindowsPhone7 ページ間でデータを受け渡す


(過去ログ 101 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■60308 / inTopicNo.1)  WindowsPhone7 ページ間でデータを受け渡す
  
□投稿者/ あゆみ (5回)-(2011/06/27(Mon) 15:47:36)

分類:[C#] 

いつも参考にさせていただいております。

WindowsPhone7.0〜7.1
VS2010
Win7 64bit

ページ間データのやりとりについての質問です。

ページ遷移時に文字データをやり取りする場合は
NavigationService.Navigate(new Uri("/Page1.xaml?Name=abcdef", UriKind.Relative));

IDictionary<string, string> q = this.NavigationContext.QueryString;
if(q.ContainsKey("Name"))

上記でいけたのですが、文字以外の画像データなどを受け渡しする場合

Silverlight for WindowsPhoneでは以下の方法が使えません。

Page2 p2 = new Page2();
p2.imagedata = bitmapdata;
NavigationService.Navigate(p2);//ここが無理
NavigationService.Navigateの引数がUri指定のものしか無いために
上記の方法での受け渡しができませんでした。

できればPage2のインスタンスを取得してデータを渡せればいいなと思います。
画像データなどを受け渡す際にはどのようにすればいいのでしょうか。
よろしくお願いします。


引用返信 編集キー/
■60313 / inTopicNo.2)  Re[1]: WindowsPhone7 ページ間でデータを受け渡す
□投稿者/ 逆運の覇者 (23回)-(2011/06/27(Mon) 16:43:31)
How pass data between pages in wp7- Need help!
http://forums.create.msdn.com/forums/p/66396/412604.aspx
より、以下抜粋



On navigation page:

        protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
        {
            if (e.Uri.ToString().Contains("mypagename.xaml")) ((mypageClassName)e.Content).myPassedVariable= 1234;

            base.OnNavigatedFrom(e);
        }

On navigated page:

        public int myPassedVariable;

        void mypageClassName_Loaded(object sender, RoutedEventArgs e)
        {
            MessageBox.Show(myPassedVariable.ToString());//will show 1234
        }

This method is "backkey press" safe.

引用返信 編集キー/
■60316 / inTopicNo.3)  Re[2]: WindowsPhone7 ページ間でデータを受け渡す
□投稿者/ あゆみ (7回)-(2011/06/27(Mon) 17:18:57)
No60313 (逆運の覇者 さん) に返信

ご回答ありがとうございます。
無事データを受け渡すことができました。
自分は英文フォーラムの検索がまだまだ甘いと痛感しました・・・

ありがとうございました。

> How pass data between pages in wp7- Need help!
> http://forums.create.msdn.com/forums/p/66396/412604.aspx
> より、以下抜粋
>
>
>
> On navigation page:
>
> protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
> {
> if (e.Uri.ToString().Contains("mypagename.xaml")) ((mypageClassName)e.Content).myPassedVariable= 1234;
>
> base.OnNavigatedFrom(e);
> }
>
> On navigated page:
>
> public int myPassedVariable;
>
> void mypageClassName_Loaded(object sender, RoutedEventArgs e)
> {
> MessageBox.Show(myPassedVariable.ToString());//will show 1234
> }
>
> This method is "backkey press" safe.
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -