2012-11-25 4 views
2

MonoMac을 사용하면 NSDocument 기반 응용 프로그램을 사용할 수 있지만 버튼을 클릭 할 때 새 NSDocument 객체를 만들어야합니다.MonoMac을 사용할 때 NSDocument를 인스턴스화하는 방법

예를 들면. I는 다른 윈도우에서 I는 NSWindowController를하고 난

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

따라서 그 컨트롤러에 연결되어로드 될 윈도우를 야기 할 수있다.

NSDocument를 사용하면 컨트롤러가 내장되어 있다고 생각하십니까?

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

같은 그래서 내가 기대하고있어 뭔가 물론이 작동하지 않습니다.

추가 정보, 예를 들어 응용 프로그램에서 Command + N을 누르면 새로운 문서 창이로드됩니다. 이것은 멋지 며 기본적으로 동일한 일이 필요하지만 버튼을 클릭 할 때 필요합니다.

답변

1

"파일"/ "새로 만들기"또는 Control + N을 사용하면 응용 프로그램의 공유 문서 컨트롤러 (menu.xib의 첫 번째 응답자)에 newDocument:이 호출됩니다.

은 (당신이 보낸 사람으로 null를 전달할 수 있습니다) 거기에 NewDocument()를 호출 한 후, 응용 프로그램의 공유 문서 컨트롤러를 얻을 수 NSDocumentController.SharedDocumentController를 사용하여 프로그래밍 방식으로 동일한 작업을 수행하려면

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

당신이 록 스타입니다! 정말 고맙습니다!!! – Jared

관련 문제