c# - 为 UIBarButtonItem 添加/删除 EventHandler

标签 c# ios xamarin xamarin.ios uibarbuttonitem

可以在构造函数中定义一个EventHandler:

UIBarButtonItem logoutButton = new UIBarButtonItem (UIBarButtonSystemItem.Stop, logoutButtonEventHandler);

private void logoutButtonEventHandler(object sender, EventArgs args){
    Console.WriteLine("Logout");
}

之后是否可以删除 EventHandler?也许根本不使用 EventHandler 而是使用 UIBarButtonItemAction/Target 属性?我找不到任何例子。只有anonymous methods一直在使用。

你是怎么做到的?

最佳答案

实例化您的对象,然后设置处理程序:

var logoutButton = new UIBarButtonItem (UIBarButtonSystemItem.Stop)
logoutButton.Clicked += logoutButtonEventHandler;

之后要删除它,请使用 -= 语法:

 logoutButton.Clicked -= logoutButtonEventHandler;

小心commom pitfalls当您这样做时,因为它们可能会导致内存泄漏。

关于c# - 为 UIBarButtonItem 添加/删除 EventHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32097795/

相关文章:

xamarin - 如何修复 Android Xamarin.Forms 中的渲染器警告

c# - ASP 经典 : perform same subtraction of 2 dates and get the same value in C# value

c# - FileUpload 在本地运行良好,但在我将项目发布到服务器时效果不佳

C# 在注入(inject)第一个参数的给定方法上创建 lambda

ios - 如何将纬度和经度存储在核心数据的表中

android - Xamarin 和 RestSharp - 异步调用挂起/永不返回

c# - Unity3D 射击游戏 - 所有敌人被消灭后如何切换到下一关?

ios - 在 iPhone 上远程打开相机

ios - 如何在另一种方法之后调用 segue

c# - 从应用程序 PCL 项目添加对库项目的引用