在点击时,我在尝试获取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);
答案 0 :(得分:12)
在SelectedItem事件中尝试:
var index = (myListView.ItemsSource as List<MyObject>).IndexOf (e.SelectedItem as MyObject);
答案 1 :(得分:0)
在listView中添加项目时,您可以设置该项目的styleId。 在ItemTapped正文中,您将可以访问该项目,从而访问该项目的styleId。