Xamarin Forms-получить позицию элемента, выбранного в Listview

У меня возникли проблемы с попыткой получить положение элемента в 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 to ItemSelected

затем внутри ItemSelected я только что добавил в этой строке:

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

2 ответов


в событии SelectedItem попробуйте следующее:

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

при добавлении элементов в listView вы можете установить styleId этого элемента . в теле ItemTapped у вас будет доступ к этому элементу, таким образом, доступ к styleId этого элемента .