private void closeTab() { int indexItem = MainWindow.tabControl.SelectedIndex; TabsViewModel.RemoveTabItem(indexItem); listFileName.RemoveAt(indexItem); index--; }
private void OpenFile() { XmlDocument doc = new XmlDocument(); Stream myStream = null; OpenFileDialog openFileDialog1 = new OpenFileDialog(); ObservableCollection <TreeItemModel> listFrame = new ObservableCollection <TreeItemModel>(); openFileDialog1.InitialDirectory = @"C:\Users\Александр\Documents\Visual Studio 2015\Projects\SPP\Lab2\TracerOnWinForms\TracerOnWinForms\bin\Debug"; openFileDialog1.Filter = "XML files (*.xml)|*.xml"; openFileDialog1.RestoreDirectory = true; if (openFileDialog1.ShowDialog() == true) { try { if ((myStream = openFileDialog1.OpenFile()) != null) { using (myStream) { doc.Load(openFileDialog1.FileName); fileName = openFileDialog1.FileName; } if (!listFileName.Contains(fileName)) { int nodeId = -1; listFileName.Add(fileName); foreach (XmlNode node in doc.SelectNodes("root")) { frameList = new Model.Frame(); frameList.name = "root"; parse(node, ref frameList, -1, ref nodeId); } index++; TreeItemModel tiModel = new TreeItemModel(); TreeItemModel tempTIModel; for (int i = 0; i < frameList.childFrame.Length - 1; i++) { tempTIModel = new TreeItemModel(); tempTIModel.Title = frameList.childFrame[i].text; listFrame.Add(tempTIModel); listFrame.Last().ItemName = frameList.childFrame[i].name; listFrame.Last().Time = frameList.childFrame[i].attrTime; listFrame.Last().Name = frameList.childFrame[i].attrName; listFrame.Last().Id = frameList.childFrame[i].attrId; listFrame.Last().Package = frameList.childFrame[i].attrPackage; listFrame.Last().ParamsCount = frameList.childFrame[i].attrParamsCount; listFrame.Last().Title = frameList.childFrame[i].name; listFrame.Last().ThreadId = frameList.childFrame[i].threadId; listFrame.Last().Title += addAttribute(frameList.childFrame[i]); tiModel = listFrame.Last(); buildTreeView(frameList.childFrame[i], ref tiModel); } TabsViewModel.AddNewTabItem(openFileDialog1.FileName, listFrame); TabsViewModel.Tabs.Last().IsSelected = true; } else { MessageBox.Show("File " + Path.GetFileName(fileName) + " is alredy open!"); int ind = listFileName.IndexOf(fileName); TabsViewModel.Tabs[ind].IsSelected = true; } } } catch (Exception ex) { MessageBox.Show("Error: Could not read file from disk. Original error: " + ex.Message); } } }