可以在构造函数中定义一个EventHandler
:
UIBarButtonItem logoutButton = new UIBarButtonItem (UIBarButtonSystemItem.Stop, logoutButtonEventHandler);
private void logoutButtonEventHandler(object sender, EventArgs args){
Console.WriteLine("Logout");
}
之后是否可以去除EventHandler
?也许根本不使用EventHandler
,而是使用UIBarButtonItem
的Action
/Target
属性?我找不到任何例子。只有匿名方法一直被使用。
你是怎么做到的?
实例化你的对象,然后设置处理程序:
var logoutButton = new UIBarButtonItem (UIBarButtonSystemItem.Stop)
logoutButton.Clicked += logoutButtonEventHandler;
之后使用-=
语法删除它:
logoutButton.Clicked -= logoutButtonEventHandler;
当你这样做的时候要小心一些常见的陷阱,因为它们可能会导致内存泄漏。
UIBarButtonItem has Clicked event,所以你可以订阅和取消订阅。