public MainWindow() { InitializeComponent(); isUnsavedData = false; storage = new TagStorage(); //Инициализируем 2 отдельных потока для загрузки и сохранения файла fileloadBackground = new BackgroundWorker(); fileloadBackground.RunWorkerCompleted += fileloadBackgroundComplete; fileloadBackground.DoWork += fileloadBackgroundDoWork; fileloadBackground.WorkerReportsProgress = true; filesaveBackground = new BackgroundWorker(); filesaveBackground.DoWork += filesaveBackgroundDoWork; filesaveBackground.RunWorkerCompleted += filesaveBackgroundComplete; treeView.ItemsSource = storage.Root.Childrens; }
//функция загрузки файла с выводом ошибки private TagStorage LoadFile(object filename) { TagStorage fromFile = new TagStorage(); try { fromFile.LoadStructureFromFile(filename as string); isUnsavedData = false; return(fromFile); } catch (Exception ex) { if (ex is FormatException) { MessageBox.Show("Значение тега не соответствует указаному типу", "Ошибка"); } else { MessageBox.Show(ex.Message, "Ошибка!!"); } return(null); } }
public void Copy(TagStorage copyFrom) { Root.Childrens.Clear(); CopyChildrens(Root, copyFrom.Root); }