在XAML页面之间传递值
我正在尝试使用VS 2012和C#构建我的第一个Windows 8 Metro应用程序。
它由一个简单的2页布局组成,第一个是演示和设置页面,第二个是游戏本身(测验)。
我在MainPage.xaml.cs中创建了一个Player实例,它存储了玩家名称,游戏模式(简单,中等,硬)和问题主题(最终)。
Player p = new Player();
每当设置值时,我都会使用导航到MainGame.xaml
this.Frame.Navigate(typeof(MainGame));
问题是:我如何在页面之间传递这样的值,所以我可以设置一个文本块,说“正在播放名字”?
您可以在Frame
的Navigate(...)
方法中传递参数对象。 所以你应该这样写。
MainPage.xaml.cs中
Player p = new Player(); this.Frame.Navigate(typeof(MainGame), p);
现在, Player
对象可以进入MainGame.xaml.cs
的OnNavigatedTo(...)
方法。
MainGame.xaml.cs
protected override void OnNavigatedTo(NavigationEventArgs e) { var objPlayer = e.Parameter as Player; }