簡體   English   中英

Xamarin.forms中的點擊手勢

[英]Tapped gesture in Xamarin.forms

因此,我必須第一次使用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
            }
        });
    }
}

您有ContentPage列表嗎? 真奇怪 但是,通常情況下,要為ListView項目添加點擊事件,您需要訂閱ItemTapped事件。

var list = new ListView();
list.ItemsSource = myItems;
list.ItemTapped += myEventTapped();
Content = list;`

通常,我使用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
        });
    }
}

void ListViewOnItemTapped(object sender,ItemTappedEventArgs itemTappedEventArgs){拋出新的NotImplementedException(); }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM