Xamarin表单-获取在Listview中选择的项的位置
当点击某个项目时,我在试图获取该项目在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
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)的代码;这段代码对我有用。。