【问题标题】:When using MonoMac How instantiate NSDocument使用 MonoMac 时如何实例化 NSDocument
【发布时间】:2012-11-28 20:04:55
【问题描述】:

使用 MonoMac,我有一个基于 NSDocument 的应用程序,但我需要在单击按钮时创建一个新的 NSDocument 对象。

例如。我在另一个窗口中有一个 NSWindowController,我可以做

Controller c = new Controller ();
c.Window.MakeKeyAndOrderFront (this); 

从而导致加载绑定到控制器的窗口。

使用 NSDocument 我猜控制器是内置的? 所以我期待像

MyNSDocument doc = new MyNSDocument ("Some Value ");
doc.Window.MakeKeyAndOrderFront (this);

这当然行不通。

附加信息,例如在应用程序中,如果您点击Command + N,则会加载一个新的文档窗口。这很酷,我基本上需要同样的事情发生,但是当一个按钮被点击时。

【问题讨论】:

    标签: monomac


    【解决方案1】:

    使用“文件”/“新建”或Control + N 在应用程序的共享文档控制器(即menu.xib 的第一响应者)上调用newDocument:

    要以编程方式执行相同操作,请使用NSDocumentController.SharedDocumentController 获取应用程序的共享文档控制器,然后在其上调用NewDocument ()(您可以将null 作为发送者传递):

    var controller = (NSDocumentController)NSDocumentController.SharedDocumentController;
    controller.NewDocument (null);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多