public LeistungMassenerfassungWindow() { InitializeComponent(); _vm = DataContext as LeistungMassenerfassungWindowVM; NotenPageVM _parentvm = FindResource("NotenPageVM") as NotenPageVM; if (_parentvm == null) { throw new Exception("NotenPageVM nicht gefunden!"); } _vm.Init(_parentvm.CurrentKlasse); EventHandler <Model.MessageBoxEventArgs> msghandler = OnMessageBoxRequest; _vm.MessageBoxRequest += msghandler; EventHandler closer = null; _vm.CloseAfterSaveRequesting += closer = (s, e) => { this.Close(); }; //Eventhandler abtrennen (sonst falls Fenster 2 mal hintereinander geöffnet und geschlossen --> beim 3ten mal 3 MessageBoxen die auf Event reagieren und aufgehen!) this.Closing += (s, e) => { _vm.MessageBoxRequest -= msghandler; _vm.CloseAfterSaveRequesting -= closer; }; dgCbNote.ItemsSource = _vm.Notenstufen; }
public NotenPage() { InitializeComponent(); _vm = FindResource("NotenPageVM") as NotenPageVM; if (_vm == null) { throw new Exception("Konnte VM nicht finden!"); } _vm.CurrentSelectionChanged += (s, e) => { UpdateNotenGrid(); }; _vm.RunMassenerfassung += (s, e) => { new LeistungMassenerfassungWindow().ShowDialog(); UpdateNotenGrid(); }; this.Loaded += (s, e) => { UpdateNotenGrid(); }; this.Unloaded += (s, e) => { if (_vm.BeendenCmd.CanExecute(null)) { _vm.BeendenCmd.Execute(null); } }; }