Add/remove UIBarButtonItem 的事件处理程序
Add/remove EventHandler for UIBarButtonItem
可以在构造函数中定义一个EventHandler
:
UIBarButtonItem logoutButton = new UIBarButtonItem (UIBarButtonSystemItem.Stop, logoutButtonEventHandler);
private void logoutButtonEventHandler(object sender, EventArgs args){
Console.WriteLine("Logout");
}
之后是否可以删除 EventHandler
?也许根本不使用 EventHandler
而是使用 Action
/Target
UIBarButtonItem
? I don't find any examples. Only anonymous methods 的属性一直被使用。
你是怎么做到的?
UIBarButtonItem 有 Clicked event,因此您可以订阅和取消订阅它。
实例化您的对象,然后设置处理程序:
var logoutButton = new UIBarButtonItem (UIBarButtonSystemItem.Stop)
logoutButton.Clicked += logoutButtonEventHandler;
之后要删除它,请使用 -=
语法:
logoutButton.Clicked -= logoutButtonEventHandler;
这样做时请注意 commom pitfalls,因为它们可能会导致内存泄漏。
可以在构造函数中定义一个EventHandler
:
UIBarButtonItem logoutButton = new UIBarButtonItem (UIBarButtonSystemItem.Stop, logoutButtonEventHandler);
private void logoutButtonEventHandler(object sender, EventArgs args){
Console.WriteLine("Logout");
}
之后是否可以删除 EventHandler
?也许根本不使用 EventHandler
而是使用 Action
/Target
UIBarButtonItem
? I don't find any examples. Only anonymous methods 的属性一直被使用。
你是怎么做到的?
UIBarButtonItem 有 Clicked event,因此您可以订阅和取消订阅它。
实例化您的对象,然后设置处理程序:
var logoutButton = new UIBarButtonItem (UIBarButtonSystemItem.Stop)
logoutButton.Clicked += logoutButtonEventHandler;
之后要删除它,请使用 -=
语法:
logoutButton.Clicked -= logoutButtonEventHandler;
这样做时请注意 commom pitfalls,因为它们可能会导致内存泄漏。