public static DesignDataMode GetDesignDataMode(IProject project, string path)
 {
     if (project == null || string.IsNullOrEmpty(path))
     {
         return(DesignDataMode.None);
     }
     return(DocumentContextHelper.GetDesignDataMode(project.FindItem(DocumentReference.Create(path))));
 }
        public static DocumentContext CreateDocumentContext(IProject project, IProjectContext projectContext, IDocumentLocator documentLocator, bool isLooseXaml)
        {
            string path = documentLocator != null ? documentLocator.Path : (string)null;

            if (DocumentContextHelper.GetDesignDataMode(project, path) == DesignDataMode.Reflectable && !(projectContext is TypeReflectingProjectContext))
            {
                projectContext = (IProjectContext) new TypeReflectingProjectContext(projectContext);
            }
            return(new DocumentContext(projectContext, documentLocator, isLooseXaml));
        }