Пример #1
0
        /// <summary>
        /// Выгрузка дерева
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void uploadTagTreeButton_Click(object sender, RoutedEventArgs e)
        {
            //Игнорируем, если документ не открыт
            if (!_isOpenXmlDocument)
            {
                return;
            }
            //Запрос на выгрузку дерева
            MessageBoxResult result = MessageBox.Show("Выгрузить дерево и сохранить изменения в Xml файле?", "Внимание!!!", MessageBoxButton.OKCancel);

            if (result == MessageBoxResult.OK)
            {
                this.tagStorage.SaveXmlDocument();
                //Выгрузка дерева в другом потоке
                Task.Factory.StartNew(() =>
                {
                    this.outTreeView.Dispatcher.Invoke(() => outTreeView.ItemsSource = null);
                });
                //Документ закрыт
                _isOpenXmlDocument = false;
                //Зануляем инстансы
                tagStorage = null;
                tagItem    = null;
            }
        }
Пример #2
0
 /// <summary>
 /// Загрузка дерева
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void loadTagTreeButton_Click(object sender, RoutedEventArgs e)
 {
     //Инстансыруем классы
     tagStorage = new TagStorage(_fileName);
     tagItem    = new TagItem(tagStorage.Root);
     //Создаем главную коллекцию
     CreateTagCollection(tagStorage.Root);
     //Привязываем коллекцию к TreeView в отдельном потоке
     Task.Factory.StartNew(() => outTreeView.Dispatcher.Invoke(() => outTreeView.ItemsSource = TagCollection));
     //Документ открыт, если все в порядке
     if (tagStorage.Root != null)
     {
         _isOpenXmlDocument = true;
     }
 }