如何导航到 UWP 中的参数化构造函数? [复制]
Posted
技术标签:
【中文标题】如何导航到 UWP 中的参数化构造函数? [复制]【英文标题】:How to navigate to Parametrised Constructor in UWP? [duplicate] 【发布时间】:2016-02-26 10:55:01 【问题描述】:我想从一个页面导航到另一个页面。 如果我的目标页面构造函数定义如下,
public Bills()
this.InitializeComponent();
我使用的是普通导航
Frame.Navigate(typeof(Billing.Bills));
并且工作正常。假设如果我的目标页面构造函数包含一些参数,例如,
public Bills(string strBillType, string strExchangeAmount, RootObject objRoot, string strPaymentType)
this.InitializeComponent();
在上述情况下如何导航到目标页面?。
【问题讨论】:
@AndriiKrupka 你是对的我已经搜索过但没有找到这个 我猜你搜索的请求不正确。 可能会感谢您的帮助@AndriiKrupka 【参考方案1】:需要使用重载方法Navigate(Type sourcePageType, System.Object parameter)
为参数创建类:
public class BillParameters
//your properties
public BillParameters(string strBillType, string strExchangeAmount, RootObject objRoot, string strPaymentType)
传递你的参数:
var parameters = new BillParameters(strBillType, strExchangeAmount, objRoot, strPaymentType);
Frame.Navigate(typeof(Billing.Bills), parameters);
并在您的目标页面上检索
protected override async void OnNavigatedTo(NavigationEventArgs e)
var parameters = e.Parameter as BillParameters;
【讨论】:
完美!谢谢@Andrii Krupka 一个很好的明确答案。【参考方案2】:你不能。如果需要向页面发送值,请使用 Frame.Navigate
的重载:
Frame.Navigate(typeof(Billing.Bills), parameter)
然后您可以从您的页面中检索参数的值:
protected override void OnNavigatedTo(NavigationEventArgs e)
// Read e.Parameter to retrieve the parameter
【讨论】:
以上是关于如何导航到 UWP 中的参数化构造函数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如果类具有参数化构造函数,为啥Java不提供默认构造函数? [复制]