Windows 8 навигация, передавая URI в качестве параметра - PullRequest
0 голосов
/ 28 марта 2012

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

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

это код на странице 1:

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, для получения Uri:

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

Я замечаю, что imgSource ничего не получает, он остается равным нулю.

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

Ответы [ 2 ]

2 голосов
/ 28 марта 2012

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

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

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

0 голосов
/ 16 декабря 2012

Стоит отметить, как указано в комментариях здесь:

http://answers.flyppdevportal.com/categories/metro/csharpvb.aspx?ID=4b847d71-9cd5-4457-add9-f68e457b23ff

что вы можете передавать только примитивные типы в качестве параметров навигации.

...