xamarin - 如何从 Xamarin Forms 的页面中删除点击的事件?
问题描述
我已将此代码添加到页面上的 OnAppearing 中。
protected override void OnAppearing()
{
base.OnAppearing();
tap.Tapped += (object sender, EventArgs e) => {
Shell.Current.GoToAsync("HelpTab2");
};
}
问题是现在该方法似乎正在添加越来越多的点击命令。
当页面消失时,有没有办法可以从页面中删除它?
解决方案
您可以,但不能使用匿名代表。您必须使用实际的事件处理程序
// add handler
tap.Tapped += MyTappedHandler;
// remove handler
tap.Tapped -= MyTappedHandler;
protected void MyTappedHandler(object sender, EventArgs e)
{
Shell.Current.GoToAsync("HelpTab2");
};
推荐阅读
- php - SimplesamlPHP 无限重定向
- java - 如何仅使用列名从 excel 中获取列值?
- angular - 下拉列表中的选定项目未在 Angular 2/4 中显示
- jquery - 引导选择无法正确更新选定的选项
- google-chrome - 如何删除所有重复的 URL 并仅保留 Google Chrome 历史记录中的最后一次访问?
- c++ - Qt 为多行文本绘制轮廓
- azure - 在 java sdk 中配置虚拟机期间的 OS 磁盘类型支持
- elasticsearch - Elasticsearch 6.3:未知插件 Marvel-agent
- php - 无法使用 PHP 将图像从 android 插入 SQL Server 数据库
- r - 跳过多次迭代运行中 AUC = 1 的 ROC 曲线的平滑步骤