【发布时间】:2016-06-09 08:32:26
【问题描述】:
我有一个列表视图,我想做的是当我点击一个项目时,会启动一个包含详细信息的新页面。 在这个页面上会有一个删除按钮,如果我按下它,元素就会从数据库中删除,页面是 popasync 回到列表。
然后我需要更新我的列表视图,目前我通过消息中心让它工作,但我不知道这是否是最好的解决方案。
这就是我启动详细信息页面的方式:
cardList.ItemTapped += async (sender, e) =>
{
await Navigation.PushAsync(new CardDetails((Card) e.Item, database));
};
这是带有删除代码的我的详细信息页面:
var toolbarItem = new ToolbarItem
{
Name = "Supprimer",
Command = new Command(this.deleteAndReturn),
};
private void deleteAndReturn()
{
database.deleteCard(card);
Navigation.PopAsync();
MessagingCenter.Send<CardDetails>(this, "Delete");
}
在我的 listPage 上,我像这样更新视图:
MessagingCenter.Subscribe<CardDetails>(this, "Delete", (sender) => {
cardList.ItemsSource = database.getCards();
});
这是一个好方法吗?我已经让我们可以听像“popped”这样的事件,但我不知道如何听它。我认为 android 中的等价物是“OnActivityResult”。
【问题讨论】:
标签: listview xamarin xamarin.forms