c# - 在 XAML 页面之间传递值

标签 c# .net xaml windows-store-apps

我正在尝试使用 VS 2012 和 C# 构建我的第一个 Windows 8 Metro 应用。

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

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

Player p = new Player();

每当设置值时,我都会使用

导航到 MainGame.xaml
this.Frame.Navigate(typeof(MainGame));

问题是:我如何在页面之间传递这些值,以便我可以设置一个文本 block 说“名字正在播放”?

最佳答案

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

MainPage.xaml.cs

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

现在 Player 的对象可以进入MainGame.xaml.csOnNavigatedTo(...)方法。

主游戏.xaml.cs

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

关于c# - 在 XAML 页面之间传递值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18041112/

相关文章:

.net - 仅在我的机器上发生异常 : Method not found: WaitHandle. WaitOne(Int32)

c# - 为什么在 C# 应用程序中将 IL 代码打包到 exe 中?

c# - 标签 TapGesture 不会触发 Xamarin Forms

c# - WinRT平台是否可以根据目标类型获取资源

c# - 删除 xaml 样式的事件处理程序?

c# - 如何通过在我的 Asp.net MVC 项目中发布特定的 Url 来检查网站内容是否抄袭?

c# - 按货币值(value)排序列表

c# - 自定义属性对抽象属性的继承

c# - 如果对象为空,如何返回空字符串?

c# - 加载重命名的 C# 程序集抛出 FileNotFoundException