使用MonoMac时如何实例化NSDocument

时间:2012-11-25 07:51:13

标签: monomac

使用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,则在应用程序中,然后会加载新的文档窗口。这很酷,我基本上需要做同样的事情,但是当点击一个按钮时。

1 个答案:

答案 0 :(得分:1)

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

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

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