Ich habe eine Listview und was ich tun möchte ist, wenn ich auf ein Element klicke, wird eine neue Seite mit den Details gestartet. Auf dieser Seite wird eine Schaltfläche zum Löschen, und wenn ich es drücke, wird das Element aus der Datenbank gelöscht und die Seite ist popasync, um zur Liste zurückzukehren.Xamarin Forms Update Listenansicht nach dem Löschen
Dann muss ich meine Listview aktualisieren, derzeit habe ich es dank eines Messaging-Center funktioniert, aber ich weiß nicht, ob es die beste Lösung ist. Diese
ist, wie ich meine Detailseite anzeigen zu starten:
cardList.ItemTapped += async (sender, e) =>
{
await Navigation.PushAsync(new CardDetails((Card) e.Item, database));
};
Dies ist meine Detailseite mit dem Löschcode:
var toolbarItem = new ToolbarItem
{
Name = "Supprimer",
Command = new Command(this.deleteAndReturn),
};
private void deleteAndReturn()
{
database.deleteCard(card);
Navigation.PopAsync();
MessagingCenter.Send<CardDetails>(this, "Delete");
}
Auf meinem listPage ich die Ansicht wie aktualisieren:
MessagingCenter.Subscribe<CardDetails>(this, "Delete", (sender) => {
cardList.ItemsSource = database.getCards();
});
Ist es ein guter Weg, das zu tun? Ich bin schon so, dass wir Events wie "Popped" hören können, aber ich weiß nicht, wie ich darauf hören soll. Ich denke, das Äquivalent in Android wäre "OnActivityResult".
Ich mache das bereits und es ist erfrischend, meine Frage war über die beste Möglichkeit, eine bestimmte Aktion auf einer Seite nach einem Popasync durchzuführen – Spierki