Xcode 7.3 和 Xamarin Studio 5 事件处理程序创建

Xcode 7.3 and Xamarin Studio 5 event handler creation

谁能告诉我或指向解释如何为 Xamarin.Mac 表单创建事件处理程序的指南?

当我从 Xamarin Studio 打开 XCode Interface Editor 时,我根本找不到如何操作。

您正在寻找 Cocoa 中所谓的 Action

有一篇很棒的技术文章带您完成在 Xcode 界面编辑器中公开 Action(和 Outlets)的过程,因此 'event' 是通过 auto-generated (code-behind) C#:

公开

https://developer.xamarin.com/guides/mac/user-interface/standard-controls/

一个简单的例子:

通过 Xamarin Studio 模板创建 Cocoa 应用程序。

Double-click解决方案资源管理器中的Main.Storyboard条目打开Xcode

Drag/Drop 一个 NSButton 到你的 View(不是 View Controller):

突出显示 NSButton 和 Ctrl-Drag/Drop 到 ViewController.h(不是 .m 文件):

命名它(我的例子是 MyButton)并将连接从 Outlet 更改为 Action

保存情节提要 (Cmd-S) 并返回 Xamarin Studio(无需关闭 Xcode,因为您在刚开始跟上速度时会来回多次。

在 Xamarin 中,双击生成的文件 ViewController.designer.cs,您将看到您的 NSButton 的部分 class。

    [Action ("MyButton:")]
    partial void MyButton (Foundation.NSObject sender);
    

Double-click 在 ViewController.cs 文件上,在 class 内单击但在其他现有方法之外并开始键入 partial,您将看到一个 Intellisense 弹出窗口,列出您的行动:

按下回车键,您就创建了第一个活动。

    partial void MyButton (NSObject sender)
    {
        throw new System.NotImplementedException ();
    }

更新代码以实际执行某些操作:

    partial void MyButton (NSObject sender)
    {
        (sender as NSButton).Title = "You clicked me";
    }

Compile/Run 应用:

点击按钮:

要更深入地了解 Outlets 和 Actions,请同时参阅 Outlet and Action section of our Hello, Mac 指南。我在该文档中详细介绍了它们的工作原理。