Question

Dans le même à cette question que j'ai posté plus tôt: poignée WPF Quitter l'événement

J'ai trouvé une solution dans l'objectif C , mais je ne suis pas au courant de la façon dont le port de cette avec Mono.

EDIT

J'ai trouvé que je pouvais utiliser la dérogation suivante pour faire ce que je voulais:

NSApplicationTerminateReply ApplicationShouldTerminate (NSApplication sender)

Cependant, il y a un problème maintenant, si je ferme mon MainWindow depuis qui est en fait où je veux commencer à appeler la sortie de l'application. J'ai déjà un remplacement pour ApplicationShouldTerminateAfterLastWindowClosed qui renvoie true, donc la fin override a été appelée correctement. Mais quand je retourne Annuler, l'application est en cours d'exécution, sans fenêtre. Est-il possible d'intercepter l'événement de fermeture de la fenêtre?

Était-ce utile?

La solution

est ce que je fini par faire. J'ai créé une nouvelle classe appelée MainWindowDelegate:

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

Alors, dans ma classe MainWindowController:

public class MainWindowController
{
    private MainWindowDelegate _delegate;

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

    public override void WindowDidLoad()
    {
        Window.Delegate = _delegate;
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top