private void AddStudent(object sender, RoutedEventArgs e)
        {
            var sf = new StudentEdit();

            sf.Resources["fontColor"]  = Resources["fontColor"];
            sf.Resources["fontFamily"] = Resources["fontFamily"];
            sf.Resources["fontBold"]   = Resources["fontBold"];
            sf.Resources["fontSize"]   = Resources["fontSize"];
            if (sf.ShowDialog() ?? false)
            {
                currentList.PushToEnd(new Student(sf.FirstName, sf.LastName, sf.MiddleName, sf.YearOfBirth, sf.AvgScore));
                Refresh();
            }
        }
        private void UpdateSelectedStudent(object sender, RoutedEventArgs e)
        {
            var sf = new StudentEdit(selectedStudent);

            if (sf.ShowDialog() ?? false)
            {
                selectedStudent.FirstName  = sf.FirstName;
                selectedStudent.LastName   = sf.LastName;
                selectedStudent.MiddleName = sf.MiddleName;
                selectedStudent.AvgScore   = sf.AvgScore;
                selectedStudent.BirthYear  = sf.YearOfBirth;

                // onPropertyChanged must be invoked
                SelectedStudent = selectedStudent;
                Refresh();
            }
        }