因此,我必须第一次使用C#进行布局...

现在,我希望能够在列表视图项上切换,然后转到包含已窃听项的数据的详细信息页面。我该怎么做?

我目前有这个代码;

public MainPage()
{
    GeneratePage();
    InitializeComponent();
}

private async Task GeneratePage()
{
    List<Folder> folders = await ApiManager.GetFoldersAsync();

    foreach (var f in folders)
    {
        List<Lists> lists = new List<Lists>();
        foreach (int id in f.list_ids)
        {
            lists.Add(await ApiManager.GetSpecificListAsync(id));
            // Debug.WriteLine("ID for list '"+ f.title +"' : " + id);
        }
        this.Children.Add(new ContentPage
        {
            Title = f.title,
            Content = new ListView
            {
                ItemsSource = lists
            }
        });
    }
}

最佳答案

通常,我使用XAML而不是CodeBehind来创建UI,但是以下代码段可以解决问题,但我尚未对其进行测试。

只需附加到ItemTapped事件。或者,您也可以在您的ListView上添加一个TapGestureRecognizer。

private async Task GeneratePage()
{
    List<Folder> folders = await ApiManager.GetFoldersAsync();

    foreach (var f in folders)
    {
        List<Lists> lists = new List<Lists>();

        foreach (int id in f.list_ids)
        {
            lists.Add(await ApiManager.GetSpecificListAsync(id));
            // Debug.WriteLine("ID for list '"+ f.title +"' : " + id);
        }

        ListView listView = new ListView { ItemsSource = lists };

        listView.ItemTapped += ListViewOnItemTapped;

        this.Children.Add(new ContentPage
        {
            Title = f.title,
            Content = listView
        });
    }
}


ListViewOnItemTapped(对象发送者,ItemTappedEventArgs itemTappedEventArgs)
    {
        抛出新的NotImplementedException();
    }

10-06 13:00