Xamarin表单 - 获取在Listview中选择的项目的位置

时间:2016-04-13 09:12:52

标签: listview xamarin xamarin.forms

在点击时,我在尝试获取ListView中项目的位置时遇到了一些麻烦。

继承我的代码:

public MainPage()
{
    InitializeComponent();

    Results();
}

async void Results()
{
    var service = new RestService();
    response = await service.GetEventItemsAsync();

    Debug.WriteLine("Found: " + response.Count + " events");

    listView.ItemsSource = response;

    listView.ItemTapped += async (sender, e) =>
    {
        // Get position of item tapped 
    };
}

非常感谢任何帮助。

解决

必须将 ItemTapped 更改为 ItemSelected

然后在 ItemSelected 里面我刚才添加了这行:

var i = (listView.ItemsSource as List<EventItems>).IndexOf(e.SelectedItem as EventItems);

2 个答案:

答案 0 :(得分:12)

在SelectedItem事件中尝试:

var index = (myListView.ItemsSource as List<MyObject>).IndexOf (e.SelectedItem as MyObject);

答案 1 :(得分:0)

在listView中添加项目时,您可以设置该项目的styleId。 在ItemTapped正文中,您将可以访问该项目,从而访问该项目的styleId。