Xamarin Forms:将参数传递给 ContentPage 的最佳方式

Xamarin Forms: Best way to pass parameters to a ContentPage

我应该收到你的 opinion/advice。我正在创建一个应用程序,用户可以在其中 select 从网格中选择一个选项。

我有一个函数,可以从 DashSquare 列表创建一个网格。

 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);
 };

打开一个新页面,但我无法传递参数。我的想法是创建一个接口 IMyPage,每个页面都依赖于 ContentPage 和 IMyPage。

如何检查此页面是否实现了 IMyPage?我怎样才能传递参数?有没有正确的实现方式?

提前致谢

我们使用与 Activator.CreateInstance() 相同的代码。您只需要像这样使用 CreateInstance() 重载:

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