Windows Phone 8上的屏幕之间的可变传输

时间:2013-11-10 10:09:51

标签: c# windows xaml windows-phone-8

我是Windows Phone 8上开发应用程序的新手。

这是我的问题:

我正在尝试在屏幕之间传输变量。

详细说来,我在游戏画面上有一个得分变量。我想在sentcore.xaml页面上传输这个得分变量。

我希望你们都能理解我。感谢

3 个答案:

答案 0 :(得分:1)

查看此博文:#WPDev Tips: How to pass an object to WP Navigation Service?

创建一个帮助类。

public static class Extensions
{
    private static object Data;

    public static void Navigate(this NavigationService navigationService, 
                                Uri source, object data)
    {
        Data = data;
        navigationService.Navigate(source);
    }

    public static object GetNavigationData(this NavigationService service)
    {
        return Data;
    }
}

在Page1.xaml.cs中,假设一个按钮点击事件有这个主体。

var objPerson = new Person { FirstName = "Farhan", LastName = "Ghumra" };
NavigationService.Navigate(new Uri("/Page2/xaml", UriKind.Relative), objPerson);

在Page2.xaml.cs的OnNavigatedTo事件或构造函数

var objPerson = (Person)NavigationService.GetNavigationData();

答案 1 :(得分:1)

因此,当您导航时,请使用以下代码:

NavigationService.Navigate(new Uri("/Chatting.xaml?SelectedIndex="+selectedItemID.ToString(), UriKind.Relative));

并覆盖onNavigatedTo并插入

            selectedItemID = Convert.ToInt32(this.NavigationContext.QueryString["SelectedIndex"]);

答案 2 :(得分:0)

如果(我认为)你的意思是屏幕==页面,那么有很多示例和教程:onetwothree
如果你试图搜索,还有很多。