我怎样才能取消订阅f

时间:2017-08-21 23:57:43

标签: xamarin xamarin.forms

我的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);
    }

有人提到我可能需要取消订阅已添加的事件。

是这种情况,如果是这样,我应该怎么做呢?

1 个答案:

答案 0 :(得分:2)

您可以覆盖OnDisappearing方法取消订阅事件处理程序:

protected override void OnDisappearing()
{
    base.OnDisappearing();

    foreach (var section in tableView.Root)
    {
        foreach(var cell in section)
        {
            cell.Tapped -= openCategoriesPage;
        }
    }
}