相关疑难解决方法(0)

在带有MVVM指示灯的'X'按钮关闭窗口时进行确认

我正在使用WPF和MVVM Light框架(使用它们是我的新手)。

我要执行以下操作:

  1. 当用户单击“ X”关闭按钮时,如果他是否要退出该应用程序,我想显示一个确认窗口。
  2. 如果是,则应用程序关闭
  3. 如果没有,则什么也没有发生,他仍然可以照常使用该应用程序

到目前为止,我有这个:

  • 在MainWindow.xaml.cs中:

    public MainWindow()
    {
        InitializeComponent();
        Closing += (s, e) => ViewModelLocator.Cleanup();
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 在ViewModelLocator.cs中:

    public static void Cleanup()
    {
        ServiceLocator.Current.GetInstance<MainViewModel>().Cleanup();
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • 在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
        {
          // ????
        }
    
    Run Code Online (Sandbox Code Playgroud)

实际上,如果用户回答“是”或“否”,则两种情况下应用程序都将退出。

我不太确定如何从这里开始...

任何帮助将是巨大的!

谢谢

wpf mvvm-light

2
推荐指数
1
解决办法
5445
查看次数

标签 统计

mvvm-light ×1

wpf ×1