2012-03-28 1 views
0

Я только начал разрабатывать для Windows 8, и у меня есть некоторые трудности с передачей параметров в навигации между страницами.Навигация по Windows 8, передающий URI как параметр

То, что я пытаюсь сделать, это: У меня есть две страницы (стр. 1 и стр. 2). На странице 1 есть меню с кнопкой. Когда я нажимаю на эту кнопку, событие клика должно передать в качестве параметра возможный URI или путь, который установит источник изображения на стр. 2.

это код в page1:

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)); 
} 

и стр.2, для получения Uri:

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

Я заметил, что imgSource не получает ничего, он держит утратившим.

Итак, какие-либо подсказки о том, что я делаю неправильно или что мне не хватает?

+0

Вы передаете 'Uri', а затем передаете его в' ImageSource'. 'ImageSource' не является' Uri', почему вы думаете, что это сработает? – svick

+0

Имеет ли этот класс 'Image' параметр' UriSource'? –

+0

@svick, я дал два варианта, над которыми я работал, как вы можете видеть на комментируемой строке. Оба не работают. – Boga

ответ

2

Я думаю, вам нужно код, как это (непроверенные):

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

Вам может понадобиться добавить using Windows.UI.Xaml.Media.Imaging; в файл, если вы не имеете его уже там.