在XAML页之间传递值

本文关键字:之间 XAML | 更新日期: 2023-09-27 18:26:10

我正在尝试使用VS 2012&C#。

它由一个简单的2页布局组成,第一页是演示文稿&设置页面,第二个由游戏本身组成(测验)。

我在MainPage.xaml.cs中创建了一个Player实例,其中存储了玩家名称、游戏模式(简单、中等、硬)和问题主题(最终)。

Player p = new Player();

每当设置值时,我都会使用导航到MainGame.xaml

this.Frame.Navigate(typeof(MainGame));

问题是:我如何在页面之间传递这样的值,这样我就可以设置一个文本块,说"Name is Playing"?

在XAML页之间传递值

您可以在FrameNavigate(...)方法中传递参数对象。所以你应该这样写。

主页.xaml.cs

Player p = new Player();
this.Frame.Navigate(typeof(MainGame), p);

现在Player的对象可以用MainGame.xaml.csOnNavigatedTo(...)方法得到。

MainGame.xaml.cs

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    var objPlayer = e.Parameter as Player; 
}