C# xaml 页面间传值问题

本文介绍了三种在XAML页面间传递参数的方法:通过查询字符串导航、利用NavigationEventArgs及通过构造函数传递。这些方法适用于WPF等XAML应用中不同页面的数据交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

翻译自: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

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值