internal static IProject GetProject(IProjectManager projectManager, IDocumentContext projectItemDocumentContext) { if (projectItemDocumentContext != null && DocumentReferenceLocator.GetDocumentReference(projectItemDocumentContext) != (DocumentReference)null && projectManager.CurrentSolution != null) { DocumentReference documentReference = DocumentReferenceLocator.GetDocumentReference(projectItemDocumentContext); foreach (IProject project in projectManager.CurrentSolution.Projects) { if (project.FindItem(documentReference) != null) { return(project); } } } return((IProject)null); }
private void OnViewXamlCommand() { List <DocumentNode> itemsDocumentNodes = this.GetSelectedItemsDocumentNodes(); if (itemsDocumentNodes == null || itemsDocumentNodes.Count <= 0) { return; } IProjectItem projectItem = (IProjectItem)null; foreach (IProject project in this.projectManager.CurrentSolution.Projects) { projectItem = project.FindItem(DocumentReferenceLocator.GetDocumentReference(itemsDocumentNodes[0].Context)); if (projectItem != null) { break; } } SceneView sceneView = projectItem.OpenView(true) as SceneView; if (sceneView == null) { return; } DocumentNode rootNode = itemsDocumentNodes[0].DocumentRoot.RootNode; if (itemsDocumentNodes.Count == 1 && itemsDocumentNodes[0] == rootNode) { sceneView.EnsureXamlEditorVisible(); } else { if (itemsDocumentNodes.Contains(rootNode)) { itemsDocumentNodes.Remove(rootNode); } GoToXamlCommand.GoToXaml(sceneView.ViewModel.XamlDocument, itemsDocumentNodes); } }
private void CreateProviders(IPlatform platform) { this.themeManager = new UserThemeManager(platform); foreach (IDocumentLocator documentLocator in (IEnumerable <IDocumentLocator>) this.themeManager.Themes) { this.AddProvider((AssetProvider) new UserThemeAssetProvider(this.designerContext, (ThemeManager)this.themeManager, DocumentReferenceLocator.GetDocumentReference(documentLocator))); } }