private void lst_ListaAlunni_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            lbl_studente.IsEnabled = true;
            lbl_presenze.IsEnabled = true;
            btn_modifica.IsEnabled = true;
            txt_modifica.IsEnabled = true;

            Studente s = (Studente)lst_ListaAlunni.SelectedItem;

            if (s != null)
            {
                lbl_studente.Content = s.ToString();
                txt_modifica.Text    = s.Presenze.ToString();
            }
        }
        private void btn_modifica_Click(object sender, RoutedEventArgs e)
        {
            Studente s      = (Studente)lst_ListaAlunni.SelectedItem;
            int      valore = Convert.ToInt32(txt_modifica.Text);

            if (s.Presenze != valore)
            {
                s.Presenze = valore;
                MessageBox.Show("Operazione eseguita con successo, OK");
            }
            Task.Factory.StartNew(Scrivi);

            lbl_studente.IsEnabled = false;
            lbl_presenze.IsEnabled = false;
            btn_modifica.IsEnabled = false;
            txt_modifica.IsEnabled = false;
        }
        private void CaricaDati()
        {
            Studente  studenti    = new Studente();
            string    path        = @"ListaAlunni.xml";
            XDocument xmlDoc      = XDocument.Load(path);
            XElement  xmlstudenti = xmlDoc.Element("studenti");
            var       xmlstudente = xmlstudenti.Elements("studente");

            Thread.Sleep(1000);

            foreach (var item in xmlstudente)
            {
                XElement xmlLastName  = item.Element("cognome");
                XElement xmlFirstName = item.Element("nome");
                XElement xmlPresenze  = item.Element("presenze");
                Studente s            = new Studente();
                s.Cognome  = xmlLastName.Value;
                s.Nome     = xmlFirstName.Value;
                s.Presenze = Convert.ToInt32(xmlPresenze.Value);

                Dispatcher.Invoke(() => lst_ListaAlunni.Items.Add(s));

                if (ct.Token.IsCancellationRequested)
                {
                    break;
                }
                Thread.Sleep(1000);
            }

            Dispatcher.Invoke(() =>
            {
                btn_aggiungi.IsEnabled = true;
                btn_stop.IsEnabled     = false;
                ct = null;
            });
        }