Как правильно закрывать окна в WPF MVVM?

Открывать окна я научился благодаря этому вопросу. Однако, закрывать окна правильно тоже нужно и для этого есть метод HidePresentation (см. в ответе по ссылке выше), но где мне вызывать этот метод? В овете есть пример закрытия, но это не то, что мне нужно, поскольку окна надо будет закрывать мышкой, а не в результате выполнения какого-то метода. У меня есть только два способа которые я придумал себе:

  1. Создать обработчик события Closing для самого окна и в нем вызвать метод HidePresentation
  2. Указать WindowStyle = "None", самостоятельно сделать кнопку закрытия и повесить на ICommand в которой так же вызывать метод HidePresentation.

Я сейчас придерживаюсь первого варианта поскольку для меня он намного проще, но честно говоря я так же сомневаюсь в этом способе, но не знаю почему. Так как же правильно закрывать окна для WPF с MVVM?


Ответы (0 шт):