2

使用 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,则会加载一个新的文档窗口。这很酷,我基本上需要发生同样的事情,但是当单击按钮时。

4

1 回答 1

1

使用“文件”/“新建”或在应用程序的共享文档控制器上Control + N调用,它是的 First Responder。newDocument:menu.xib

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

var controller = (NSDocumentController)NSDocumentController.SharedDocumentController;
controller.NewDocument (null);
于 2012-11-28T12:04:55.827 回答