Exemple #1
0
 internal override bool ShouldRemoveNode(DocumentCompositeNode documentNode)
 {
     if (documentNode.Type.RuntimeType == typeof(DesignDataExtension))
     {
         return(PathHelper.ArePathsEquivalent(DesignDataInstanceBuilder.GetSourceFilePath(documentNode), this.designDataFile));
     }
     return(false);
 }
Exemple #2
0
        private static IType GetDesignDataType(DocumentCompositeNode designDataNode)
        {
            if (designDataNode.DocumentRoot == null)
            {
                return((IType)null);
            }
            IType         type = (IType)null;
            IDocumentRoot sourceXamlDocument = DesignDataInstanceBuilder.GetSourceXamlDocument(designDataNode);

            if (sourceXamlDocument != null && sourceXamlDocument.RootNode != null)
            {
                type = DataContextHelper.GetDataType(sourceXamlDocument.RootNode);
            }
            return(type);
        }
        public static IProjectItem GetDesignDataFile(DocumentNode documentNode)
        {
            IProject project = (IProject)((IServiceProvider)documentNode.TypeResolver).GetService(typeof(IProject));
            string   path    = (string)null;

            if (documentNode.Type.RuntimeType == typeof(DesignDataExtension))
            {
                path = DesignDataInstanceBuilder.GetSourceFilePath((DocumentCompositeNode)documentNode);
            }
            else if (documentNode.Parent == null)
            {
                path = documentNode.Context.DocumentUrl;
            }
            if (!string.IsNullOrEmpty(path))
            {
                IProjectItem projectItem = project.FindItem(DocumentReference.Create(path));
                if (projectItem != null && DocumentContextHelper.GetDesignDataMode(projectItem) != DesignDataMode.None)
                {
                    return(projectItem);
                }
            }
            return((IProjectItem)null);
        }