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);
                }
            };
        }