私はWPFとMVVMLightフレームワークを使用しています(これらを使用するのは初めてです)。
私は次のことをしたい:
- ユーザーが「X」閉じるボタンをクリックすると、アプリケーションを終了するかどうかの確認ウィンドウを表示したいと思います。
- はいの場合、アプリケーションは閉じます
- いいえの場合、何も起こらず、通常どおりアプリケーションを使用できます。
これまでのところ、私はこれを持っています:
MainWindow.xaml.csの場合:
public MainWindow() { InitializeComponent(); Closing += (s, e) => ViewModelLocator.Cleanup(); }
ViewModelLocator.csの場合:
public static void Cleanup() { ServiceLocator.Current.GetInstance<MainViewModel>().Cleanup(); }
MainViewModel.csの場合:
public override void Cleanup() { MessageBoxResult result = MessageBox.Show( "Unsaved data will be lost, would you like to exit?", "Confirmation", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { // clean-up resources and exit } else { // ???? }
実際、ユーザーが「はい」または「いいえ」と答えると、どちらの場合もアプリケーションは終了します。
ここから先に進む方法がよくわかりません...
どんな助けでも素晴らしいでしょう!
ありがとう