Как получить индекс выбранного элемента из списка в формах xamarin? - PullRequest
0 голосов
/ 26 апреля 2020

Здесь я хочу отобразить индекс выбранного элемента в представлении списка форм Xamarin в приведенном ниже коде, получая исключение InvalidCastException в e.SelectedItemIndex.

 private async void animelist_ItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            var si = (Applications)animelist.SelectedItem;
            string i = Convert.ToString(e.SelectedItemIndex);
            await DisplayAlert("Info",i,"Ok");
        }

1 Ответ

1 голос
/ 26 апреля 2020

Вот фрагмент кода, который работает для меня, и я считаю, что он должен работать для вас.

 //change Core.Models.Data.TaskItem to the object you want to cast to.
 var SelectedItem = (Core.Models.Data.TaskItem)e.SelectedItem;

 await DisplayAlert("Info", $"{SelectedItem.Description}}", "Ok");
 //where SelectedItem.Description is a field in my model

Причина, по которой вы получили недопустимое исключение приведения, заключается в том, что animelist.SelectedItem имеет наберите ListView.SelectedItem, и вы пытаетесь привести его Application type. Использование e.SelectedItem, как показано в примере, примет тип c generic вашей модели привязки listView.

Дайте мне знать, если это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...