public MainWindow()
 {
     _viewModel  = new MainWindowViewModel();
     DataContext = _viewModel;
     InitializeComponent();
     flyoutDemo         = new FlyoutDemo();
     flyoutDemo.Closed += (o, args) => flyoutDemo = null;
     Closing           += (s, e) =>
     {
         if (!e.Cancel && flyoutDemo != null)
         {
             flyoutDemo.Dispose();
         }
     };
 }
Beispiel #2
0
        public MainWindow()
        {
            _viewModel  = new MainWindowViewModel(DialogCoordinator.Instance);
            DataContext = _viewModel;

            InitializeComponent();

            flyoutDemo = new FlyoutDemo();
            flyoutDemo.ApplyTemplate();
            flyoutDemo.Closed += (o, e) => flyoutDemo = null;

            Closing += (s, e) =>
            {
                if (!e.Cancel && flyoutDemo != null)
                {
                    flyoutDemo.Dispose();
                }
            };
        }
        private void MetroWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if (e.Cancel)
            {
                return;
            }

            if (_viewModel.QuitConfirmationEnabled &&
                _shutdown == false)
            {
                e.Cancel = true;

                // We have to delay the execution through BeginInvoke to prevent potential re-entrancy
                Dispatcher.BeginInvoke(new Action(async() => await this.ConfirmShutdown()));
            }
            else
            {
                flyoutDemo?.Dispose();

                _viewModel.Dispose();
            }
        }