我正在尝试在我的应用中使此搜索页面正常工作。现在,它可以很好地搜索ListView,但ListView不会链接到应用程序中的其他页面。相反,当点击每个ListView元素时,它只会显示一个空白页面。我认为我在如何构造DetailPage类时犯了一个错误,但我不确定如何解决它。
This is the code for Search.cs.
我一直在寻找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);
}
};
答案 0 :(得分:1)
因为你知道页面的类型,你可以使用Activator.CreateInstance来实例化它
var itemSelected = args.Item as pageList;
if (itemSelected != null)
{
var page = (ContentPage) System.Activator.CreateInstance(itemSelected.fileName);
await Navigation.PushAsync(page, true);
}