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

"File" / "New" を使用するか、アプリケーションの共有ドキュメント コントローラー (ファースト レスポンダー) でControl + N呼び出します。newDocument:menu.xib

プログラムで同じことを行うには、 を使用NSDocumentController.SharedDocumentControllerしてアプリケーションの共有ドキュメント コントローラーを取得し、それを呼び出します (送信者としてNewDocument ()渡すことができます)。null

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