private void ButtonBrowse_Click(object sender, RoutedEventArgs e) { var chooseFile = new OpenFileDialog() { InitialDirectory = (App.Current as App).SLDir, Filter = Extension }; if (chooseFile.ShowDialog() != System.Windows.Forms.DialogResult.Cancel) { if (!string.IsNullOrEmpty(CurrentFilePath) && chooseFile.FileName.Contains(CurrentFilePath)) { Result = RelativePathConverter.GetRelativePath(CurrentFilePath, chooseFile.FileName); } else { Result = chooseFile.FileName; } try { (App.Current as App).SLDir = Path.GetDirectoryName(chooseFile.FileName); } catch { } } }
public override void OnOpening() { foreach (MetaInfo mi in OriginalMeta.ProjFileData) { string s = null; bool? undcPath = RelativePathConverter.IsRelativePath(mi.FullName); if (undcPath == true) { s = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(DocPath), mi.FullName)); } else if (undcPath == false) { s = Path.GetFullPath(mi.FullName); } if (undcPath != null) { bool find = false; foreach (DocumentData doc in parent) { if (s == doc.DocPath && doc is PlainDocumentData plainDocument) { find = true; referencedDoc.Add(plainDocument); plainDocument.parentProj = this; plainDocument.OriginalMeta.RaisePropertyChanged("n"); break; } } if (!find) { try { VirtualDoc pdd = new VirtualDoc { DocPath = s }; if (!pdd.LoadMeta()) { MessageBox.Show(s); DocumentData newDoc = GetNewByExtension(Path.GetExtension(s), -1 , Path.GetFileNameWithoutExtension(s), s); TreeNode t = newDoc.CreateNodeFromFile(s); newDoc.TreeNodes.Add(t); t.RaiseCreate(new OnCreateEventArgs() { parent = null }); pdd = (newDoc as PlainDocumentData)?.GetVirtualDoc(); } referencedDoc.Add(pdd); } catch { } } } } foreach (MetaInfo mi in OriginalMeta.ProjFileData) { } }