2011-10-19 8 views
3

同様MonoMac出口/ウィンドウを閉じるイベントハンドル:私が以前投稿この質問へ

Handle a WPF Exit Event私はa solution in Objective Cを見つけたが、私はモノラルでどのようにポートをこれに慣れていませんよ。それは実際にあるので、しかし、問題は今、私は私のメインウィンドウを閉じる場合があり

NSApplicationTerminateReply ApplicationShouldTerminate (NSApplication sender) 

:私は私がしたかった何をするには、以下のオーバーライドを使用することがわかっ

EDIT

ここでアプリケーション終了を呼び出すことにします。 trueを返すApplicationShouldTerminateAfterLastWindowClosedのオーバーライドが既にあるため、終了オーバーライドが正しく呼び出されています。しかし、私がキャンセルを返すと、アプリは実行中で、ウィンドウは表示されません。ウィンドウを閉じるイベントをインターセプトする方法はありますか?

答えて

4

これは私がやったことです。

public class MainWindowController 
{ 
    private MainWindowDelegate _delegate; 

    // Shared initialization code 
    void Initialize() 
    { 
     _delegate = new MainWindowDelegate(); 
    } 

    public override void WindowDidLoad() 
    { 
     Window.Delegate = _delegate; 
    } 
} 
:私の MainWindowControllerクラスで、その後

public class MainWindowDelegate : MonoMac.AppKit.NSWindowDelegate 
{ 
    public override WindowShouldClose (MonoMac.Foundation.NSObject sender) 
    { 
     return false; 
    } 
} 

:私はMainWindowDelegateと呼ばれる新しいクラスを作成しました

関連する問題