关闭

win8.1 参数传递

185人阅读 评论(0) 收藏 举报
分类:

在win8.1的程序开发过程中,当程序的画面跳转是,我们常常需要进行参数传递。这里给出两种常见的参数传递方法,如有不正确的地方,请多多指正。


方法一:

1.简单参数传递

//发送

public void Button1_Click(object sender, RoutedEventArgs e)

{

    string Message=“Hello World”

    this.Frame.Navigate(typeof(NextPage), Message);//NextPage 目标页面 Message 参数

}

//接收

protected override void OnNavigatedTo(NavigationEventArgs e)

{

    string GetMessage=(string) e.Parameter;//接收参数

    navigationHelper.OnNavigatedTo(e);

}

2.多参数传递

Navigate()的原型是public bool Navigate(Type sourcePageType, object parameter) ,参数传递类型为object!!!


所以我们可以这样做


public class Messages

{

    public string Message1{ set; get; }

    public string Message2{ set ;get; }

              ........

}

//发送

public void Button1_Click(object sender, RoutedEventArgs e)

{

    Messages msg=new Messages();

    msg.Message1 = "Hello Windows !";

    msg.Message2 = "Hello Microsoft !"

    this.Frame.Navigate(typeof(NextPage), msg);//此处便实现了多参传递

}


方法二

首先引用

using Windows.ApplicationModel.Core;

//画面迁移

public void Button1_Click(object sender, RoutedEventArgs e)

{

    CoreApplication.Properties["Message1"] = "Hello Windows !";

    CoreApplication.Properties["Message2"] = "Hello Microsoft !";

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

}

//参数获取

public void NextPage_Load(object sender, RoutedEventArgs e)

{

    if(CoreApplication.Properties["Message1"] !=null)//一定要判断

    {

        string GetMessage1 = CoreApplication.Properties["Message1"] .ToString();

    }

    if(CoreApplication.Properties["Message2"] !=null)

    {

        string GetMessage2 = CoreApplication.Properties["Message2"] .ToString();

    }

}



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4216次
    • 积分:231
    • 等级:
    • 排名:千里之外
    • 原创:16篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条