Esempio n. 1
0
        private void RaiseViewModelClose(IClosableViewModel viewModel)
        {
            var eventArgs = new ViewModelCloseEventArgs(viewModel);

            OnViewModelClose(eventArgs);
            var handler = ViewModelClosing;
            handler?.Invoke(this, eventArgs);
        }
Esempio n. 2
0
        private void ViewModelManagerOnViewModelClosing(object sender, ViewModelCloseEventArgs e)
        {
            List<IViewModel> viewModellToClose = new List<IViewModel> {e.ViewModel};

            IViewModel next = e.ViewModel;
            while (_viewModelLink.ContainsKey(next))
            {
                next = _viewModelLink[next];
                viewModellToClose.Add(next);
            }

            var window = _activeViews[next] as Window;
            Debug.Assert(window != null, "Active view is not are window, or active window not find");
            window.Close();

            foreach (var viewModel in viewModellToClose)
            {
                _viewModelLink.Remove(viewModel);
                _activeViews.Remove(viewModel);
            }
        }
Esempio n. 3
0
 protected virtual void OnViewModelClose(ViewModelCloseEventArgs eventArgs)
 {
     //
 }