2012-03-28 4 views
0

Windows 8の開発が始まったばかりで、ページ間のナビゲーションにパラメータを渡すのが難しいです。Windows 8のナビゲーションでURIをパラメータとして渡す

私がしようとしているのは:私は2ページ(page1とpage2)を持っています.1ページには、ボタン付きのメニューがあります。このボタンをクリックすると、clickイベントは、可能なURIまたはパスをパラメータとして渡し、ページ2のイメージのソースを設定します。

private void Button_Click_2(object sender, RoutedEventArgs e) 
{ 
    //this.Frame.Navigate(typeof(SplitPage), "ms-appx:/Imgs/1.png"); 
    this.Frame.Navigate(typeof(SplitPage), new Uri("ms-appx:/Imgs/1.png", UriKind.RelativeOrAbsolute)); 
} 

とPAGE2ウリを受信するために、::

これは、ページ1のコードはある

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    var imgSource = e.Parameter as ImageSource; 
    this.imgParaPintar.Source = imgSource; 
} 

私はimgSourceは何も受けていないことに気づいていますが、それがnullとして保持します。

私が間違っていることや欠けていることの手掛かりはありますか?

+0

あなたは 'Uri'を渡して、それを' ImageSource'にキャストしています。 'ImageSource'は' Uri'ではありません、どうしてあなたはそれがうまくいくと思いますか? – svick

+0

'Image'クラスは' UriSource'パラメータを持っていますか? –

+0

@svick、私はあなたがコメント行に見ることができるように、私が取り組んでいた2つのオプションを与えました。どちらも動作しません。 – Boga

答えて

2

私はあなたがこのようなコード(未テスト)が必要だと思う:

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    this.imgParaPintar.Source = new BitmapImage((Uri)e.Parameter); 
} 

あなたはすでにそこにそれを持っていない場合は、あなたのファイルにusing Windows.UI.Xaml.Media.Imaging;を追加する必要があります。

関連する問題