如何更改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);                                     
             }
         };

如何更改DetailPage参数的值,以便它实际打开选定的页面,而不仅仅是一个空白页面

既然知道了页面的类型,就可以使用Activator。创建实例

         var itemSelected = args.Item as pageList;
         if (itemSelected != null)
         {
             var page = (ContentPage) System.Activator.CreateInstance(itemSelected.fileName);
             await Navigation.PushAsync(page, true);                                     
         }