使用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
,则在应用程序中,然后会加载新的文档窗口。这很酷,我基本上需要做同样的事情,但是当点击一个按钮时。
答案 0 :(得分:1)
使用“文件”/“新建”或Control + N
在应用程序的共享文档控制器上调用newDocument:
,这是menu.xib
的第一响应者。
要以编程方式执行相同操作,请使用NSDocumentController.SharedDocumentController
获取应用程序的共享文档控制器,然后在其上调用NewDocument ()
(您可以将null
作为发件人传递):
var controller = (NSDocumentController)NSDocumentController.SharedDocumentController;
controller.NewDocument (null);