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

Xamarin表单-获取在Listview中选择的项的位置,listview,xamarin,xamarin.forms,Listview,Xamarin,Xamarin.forms,当点击某个项目时,我在试图获取该项目在ListView中的位置时遇到了一些麻烦 这是我的密码: public MainPage() { InitializeComponent(); Results(); } async void Results() { var service = new RestService(); response = await service.GetEventItemsAsync(); Debug.WriteLine("Fou

当点击某个项目时,我在试图获取该项目在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);
var i=(listView.ItemsSource作为列表)。IndexOf(e.SelectedItem作为事件项);

在listView中添加项目时,可以设置该项目的样式ID。
在ItemTapped body中,您将有权访问该项目,从而可以访问该项目的styleId。

在SelectedItem事件中,尝试以下操作:

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

很抱歉,但是我的对象是什么?如果
ItemsSource
类型为
observedcollection
?为我工作,该如何做。。使用您的答案并将ItemTapped更改为ItemSelected。。谢谢你的提问和回答@测试我使用类似于myObjectCollection.IndexOf(e.SelectedItem作为MyObject)的代码;这段代码对我有用。。