/// <summary> /// Загрузка параметров при загрузке формы /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Window_Loaded(object sender, RoutedEventArgs e) { if (File.Exists(Directory.GetCurrentDirectory() + "\\settings.xml")) { // загружаем данные из файла program.xml using (Stream stream = new FileStream(Directory.GetCurrentDirectory() + "\\settings.xml", FileMode.Open)) { XmlSerializer serializer = new XmlSerializer(typeof(iniSettings)); // в тут же созданную копию класса iniSettings под именем iniSet iniSettings iniSet = (iniSettings)serializer.Deserialize(stream); // и загружаем параметры из файла if (Directory.Exists(iniSet.Destination)) { tbSaveRecordedArchive.Text = iniSet.Destination; } foreach (string ListLastOpenedFile in iniSet.ListLastOpenedFiles) { this.cbVideoArchive.Items.Clear(); ComboBoxItem Item = new ComboBoxItem(); Item.Content = ListLastOpenedFile; this.cbVideoArchive.ApplyTemplate(); this.cbVideoArchive.InvalidateVisual(); this.cbVideoArchive.Items.Add(Item); this.cbVideoArchive.SelectedItem = 1; } this.AlwaysTopCheckBox.IsChecked = iniSet.TopMost; } } }
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e) { // создаём копию класса iniSettings с именем iniSet iniSettings iniSet = new iniSettings(); // записываем в переменные класса значения параметров //iniSet.Source = comboBox1.Text; iniSet.ListLastOpenedFiles = new string[this.cbVideoArchive.Items.Count]; for (int i = 0; i < iniSet.ListLastOpenedFiles.Length; i++) { ComboBoxItem Item = (ComboBoxItem)this.cbVideoArchive.Items[i]; iniSet.ListLastOpenedFiles[i] = (string)Item.Content; //this.cbVideoArchive.Items.CopyTo((string[])iniSet.ListLastOpenedFiles, 0); } iniSet.FrameRate = this.cbFrameRate.Text; iniSet.TopMost = this.AlwaysTopCheckBox.IsChecked.Value; // выкидываем класс iniSet целиком в файл program.xml using (Stream writer = new FileStream("settings.xml", FileMode.Create)) { XmlSerializer serializer = new XmlSerializer(typeof(iniSettings)); serializer.Serialize(writer, iniSet); } }