C# xaml 页面间传值问题

翻译自:http://stackoverflow.com/questions/12444816/how-to-pass-values-parameters-between-xaml-pages

 

Xaml两个页面间的传值方式:

1. 用query字符串

导航页:

page.NavigationService.Navigate(new Uri("/Views/Page.xaml?parameter=test", UriKind.Relative));


 

目标页使用参数:

String parameter = string.Empty;if(NavigationContext.QueryString.TryGetValue("parameter", out parameter)) {    this.label.Text = parameter;}


 

2. 使用NavigationEventArgs

导航页:

page.NavigationService.Navigate(new Uri("/Views/Page.xaml?parameter=test",UriKind.Relative));
// and ..
protectedoverride void OnNavigatedFrom(NavigationEventArgs e){    // NavigationEventArgs returns destination page    Page destinationPage = e.Content as Page;    if (destinationPage != null) {
        // Change property of destination page        destinationPage.PublicProperty = "String or object..";    }}

 

目标页直接使用PublicProperty 的值:

// Just use the value of "PublicProperty"..

 

3. 使用构造时传递

导航页:

page.NavigationService.Navigate(newPage("passing a string to the constructor"));


 

目标页:

public Page(string value) {    // Use the value in the constructor...}

Catold.晖

13/11/18

 

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值