c# - Xamarin.forms 中的点击手势

标签 c# xamarin xamarin.forms

所以我必须第一次在 C# 中进行布局...

现在我希望能够在 ListView 项目上使用 Tab 键,然后转到包含所点击项目数据的详细信息页面。我该怎么做?

我目前有这个代码;

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 事件。或者,您也可以将 TapGestureRecognizer 添加到您的 ListView 上。

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
        });
    }
}

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

关于c# - Xamarin.forms 中的点击手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47413782/

相关文章:

android - 网格未扩展以填满屏幕

c# - 如何在 C# 中正确模拟 TSQL 的 DateDiff

c# - 打印按钮在报告查看器条件下在 Firefox 中不显示

xamarin.ios - Monotouch - 当网络状态改变时得到通知

ios - 如何设置 Xamarin iOS UITableView 重新排序图标颜色

将数据库链接到 MVC 项目和移动应用程序 Xamarin 的 API

c# - 为什么当我使用 POST 时,WebAPI 操作发现是 GET 而不是 404?

c# - 从 sqlite 数据库中选择数据并将值绑定(bind)到 Windows Phone 8 应用程序中的列表框项目

xamarin - Xamarin Forms 是否准备好供生产使用

xamarin - 使用 FlexLayout 换行,如何在行之间留出空间?