我的OnAppearing中有代码创建了一个TableSelection,填充它并添加了一个Tapped事件。
protected override void OnAppearing()
{
base.OnAppearing();
RefreshPage();
TableSection section;
section = new TableSection("Select from Available Categories");
foreach (var category in categoryGroups)
{
var cell = new CategoryGroupTextCell { BindingContext = category };
cell.Tapped += openCategoriesPage;
section.Add(cell);
}
tableView.Root.Add(section);
}
有人提到我可能需要取消订阅已添加的事件。
是这种情况,如果是这样,我应该怎么做呢?
答案 0 :(得分:2)
您可以覆盖OnDisappearing
方法取消订阅事件处理程序:
protected override void OnDisappearing()
{
base.OnDisappearing();
foreach (var section in tableView.Root)
{
foreach(var cell in section)
{
cell.Tapped -= openCategoriesPage;
}
}
}