我刚开始为Windows 8开发,我在页面之间的导航中传递参数时遇到了一些困难。
我要做的是:我有两个页面(第1页和第2页)在第1页,有一个带按钮的菜单。当我单击此按钮时,click事件应该作为参数传递一个可能的URI或路径,它将在page2中设置图像的来源。
这是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));
}
和page2,用于接收Uri:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
var imgSource = e.Parameter as ImageSource;
this.imgParaPintar.Source = imgSource;
}
我注意到imgSource
没有收到任何内容,它保持为空。
那么,关于我做错了什么或者我错过了什么的任何线索?
答案 0 :(得分:2)
我认为您需要这样的代码(未经测试):
protected override void OnNavigatedTo(NavigationEventArgs e)
{
this.imgParaPintar.Source = new BitmapImage((Uri)e.Parameter);
}
如果您的文件中没有using Windows.UI.Xaml.Media.Imaging;
,则可能需要将{{1}}添加到文件中。
答案 1 :(得分:0)
值得注意的是,正如这里的评论所述:
您只能将原始类型作为导航参数传递。