Xamarin表单:将参数传递给ContentPage的最佳方法

时间:2016-08-24 11:04:08

标签: xamarin.forms implementation

我应该得到你的意见/建议。我正在创建一个应用程序,用户可以从网格中选择一个选项。

我有一个函数,从DashSquare列表中创建一个Grid。

 public class DashSquare {
     public string IconImage { get; set; }
     public string Text { get; set; }
     public int Column { get; set; }
     public int Row { get; set; }
     public Type NavigateType { get; set; }
 }

点击网格项后,我打开另一个ContentPage,网格中的每个选项都有一个。我必须传递给这个新页面始终相同的参数。现在我在主要的ContentPage

中使用泛型函数
 widget.Tapped += async (s, e) => {
     var page = Activator.CreateInstance(e.Page) as Page;
     await Navigation.PushAsync(page);
 };

打开一个新页面,但我无法通过params。我的想法是创建一个接口IMyPage,每个页面依赖于ContentPage和IMyPage。

如何检查此页面是否实现了IMyPage?我怎么能通过params?有没有正确的方法来实现它?

提前谢谢

1 个答案:

答案 0 :(得分:1)

我们在Activator.CreateInstance()使用相同的代码。您只需要使用CreateInstance()重载,如下所示:

var page = Activator.CreateInstance(e.Page, param1, param2) as Page;
await Navigation.PushAsync(page);