如何更改DetailPage参数的值,以便它实际打开选定的页面,而不仅仅是一个空白页面
本文关键字:一个 空白 不仅仅是 参数 DetailPage 何更改 | 更新日期: 2023-09-27 18:11:40
我正试图让这个搜索页面在我的应用程序正常工作。现在,它搜索ListView,但ListView不链接到应用程序中的其他页面。相反,当每个ListView元素被点击时,它只会显示一个空白页面。我认为我在如何构造DetailPage类上犯了一个错误,但我不确定如何修复它。
这是Search.cs的代码。
这是一个Xamarin论坛帖子,我一直在讨论这个问题。有人帮助了我,到目前为止,他们一直很有帮助。
我一直在MSDN中寻找答案,但我还没有能够弄清楚。我如何更改DetailPage参数的值,使它实际上打开一个选定的页面,而不仅仅是一个空白页面?
这是DetailPage类。
class DetailPage : ContentPage
{
public DetailPage(pageList page_list)
{
this.page_list = page_list;
}
public pageList page_list { private set; get; }
}
这是DetailPage对象DetailPage获取其参数itemSelected的地方。它只是打开一个空白页,这不是我想要的。
listView.ItemTapped += async (sender, args) =>
{
var itemSelected = args.Item as pageList;
if (itemSelected != null)
{
DetailPage detailPage = new DetailPage(itemSelected);
await Navigation.PushAsync(detailPage, true);
}
};
既然知道了页面的类型,就可以使用Activator。创建实例
var itemSelected = args.Item as pageList;
if (itemSelected != null)
{
var page = (ContentPage) System.Activator.CreateInstance(itemSelected.fileName);
await Navigation.PushAsync(page, true);
}