我应该得到你的意见/建议。我正在创建一个应用程序,用户可以从网格中选择一个选项。
我有一个函数,从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?有没有正确的方法来实现它?
提前谢谢
答案 0 :(得分:1)
我们在Activator.CreateInstance()
使用相同的代码。您只需要使用CreateInstance()
重载,如下所示:
var page = Activator.CreateInstance(e.Page, param1, param2) as Page;
await Navigation.PushAsync(page);