2016-04-13 16 views
6

Ich habe ein bisschen Mühe, die Position eines Elements in einem ListView zu bekommen, wenn es angezapft ist.Xamarin Forms - Holen Position des Artikels in Listview

Heres mein Code:

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 
    }; 
} 

Jede Hilfe wäre sehr geschätzt.

GELÖST

Hatte ItemTapped- itemSelected

Dann wechseln innerhalb der itemSelected ich gerade in dieser Zeile hinzugefügt:

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

Antwort

11

In SelectedItem Fall versuchen Sie dies:

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

für diese Sorry, aber was MyObject sein würde? – ADuggan

+0

Nicht meine letzte Nachricht, ich habe es funktioniert. – ADuggan

+0

Wie geht das, wenn 'ItemsSource' vom Typ 'ObservableCollection >'? – testing

0

Während Elemente in Listview Hinzufügen , können Sie styleId dieses Elements festlegen. in ItemTapped Körper haben Sie Zugriff auf dieses Element und damit Zugriff auf styleId dieses Elements.