Пример #1
0
 public StateGroupModel(VisualStateGroupSceneNode sceneNode)
 {
     this.sceneNode          = sceneNode;
     this.FluidLayoutEnabled = BlendSdkHelper.IsSdkInstalled(sceneNode.ProjectContext.TargetFramework);
     this.DefaultTransition  = new TransitionModel((VisualStateTransitionSceneNode)null, this);
     this.parkedTransitions.Add(this.DefaultTransition);
 }
Пример #2
0
 private static bool CanSupportExtendedVisualStateManager(SceneNode editingContainer)
 {
     if (editingContainer.ProjectContext.IsCapabilitySet(PlatformCapability.VsmInToolkit))
     {
         IType type = editingContainer.ProjectContext.ResolveType(ProjectNeutralTypes.VisualStateManager);
         if (!editingContainer.ProjectContext.PlatformMetadata.IsNullType((ITypeId)type) && !type.RuntimeAssembly.Version.ToString(4).Equals("3.5.40128.1", StringComparison.Ordinal))
         {
             return(false);
         }
     }
     return(BlendSdkHelper.IsSdkInstalled(editingContainer.ProjectContext.TargetFramework));
 }
Пример #3
0
 internal static bool EnsureBlendSDKLibraryAssemblyReferenced(SceneViewModel sceneViewModel, string assemblyName)
 {
     if (sceneViewModel == null || string.IsNullOrEmpty(assemblyName))
     {
         return(false);
     }
     if (sceneViewModel.ProjectContext.GetAssembly(assemblyName) != null)
     {
         return(true);
     }
     if (!BlendSdkHelper.IsSdkInstalled(sceneViewModel.ProjectContext.TargetFramework) || !sceneViewModel.ProjectContext.EnsureAssemblyReferenced(assemblyName))
     {
         return(false);
     }
     sceneViewModel.DesignerContext.ViewUpdateManager.RebuildPostponedViews();
     return(true);
 }
 public override ConversionType GetVersion(ConversionTarget file)
 {
     if (file.IsProject && BlendSdkHelper.IsAnyCurrentVersionSdkInstalled)
     {
         IEnumerable <string> projectImports = file.ProjectStore.ProjectImports;
         if (projectImports != null)
         {
             if (BlendSdkHelper.IsSdkInstalled(BlendSdkHelper.CurrentWpfVersion))
             {
                 if (projectImports.Contains <string>("SubsetFont.targets"))
                 {
                     return(ConversionType.BlendSdkFontEmbedding2);
                 }
                 if (projectImports.Contains <string>("$(MSBuildExtensionsPath)\\Microsoft\\Expression\\Blend\\3.0\\WPF\\Microsoft.Expression.Blend.WPF.targets"))
                 {
                     return(ConversionType.BlendSdkFontEmbedding3);
                 }
                 if (projectImports.Contains <string>(BlendSdkHelper.CurrentVersionWpfTargetsFile))
                 {
                     return(ConversionType.BlendSdkFontEmbedding4);
                 }
             }
             if (BlendSdkHelper.IsSdkInstalled(BlendSdkHelper.CurrentSilverlightVersion))
             {
                 if (projectImports.Contains <string>("SubsetFontSilverlight.targets"))
                 {
                     return(ConversionType.BlendSdkFontEmbedding2);
                 }
                 if (projectImports.Contains <string>("$(MSBuildExtensionsPath)\\Microsoft\\Expression\\Blend\\3.0\\Silverlight\\Microsoft.Expression.Blend.Silverlight.targets"))
                 {
                     return(ConversionType.BlendSdkFontEmbedding3);
                 }
                 if (projectImports.Contains <string>(BlendSdkHelper.CurrentVersionSilverlightTargetsFile))
                 {
                     return(ConversionType.BlendSdkFontEmbedding4);
                 }
             }
         }
     }
     return(ConversionType.Unknown);
 }
 public static bool IsEnabled(ITypeResolver typeResolver)
 {
     return(typeResolver.IsCapabilitySet(PlatformCapability.SupportAddTriggerDataDragDrop) && BlendSdkHelper.IsSdkInstalled(typeResolver.PlatformMetadata.TargetFramework));
 }
Пример #6
0
        private Tuple <List <AssemblyAssetProvider>, AssemblyAssetAggregator.ProviderCache> BuildGlobalProviders()
        {
            HashSet <string> hashSet1 = new HashSet <string>();

            foreach (IAssembly assembly in (IEnumerable <IAssembly>) this.activeProject.AssemblyReferences)
            {
                if (assembly.IsLoaded && !assembly.IsResolvedImplicitAssembly)
                {
                    hashSet1.Add(assembly.Name);
                }
            }
            AssemblyAssetAggregator.ProviderCache providerCache = (AssemblyAssetAggregator.ProviderCache) this.activeProject.Platform.Metadata.GetPlatformCache(DesignSurfacePlatformCaches.AssemblyAssetProviders);
            List <AssemblyAssetProvider>          list          = new List <AssemblyAssetProvider>();

            if (providerCache != null)
            {
                foreach (AssemblyAssetProvider assemblyAssetProvider in (List <AssemblyAssetProvider>)providerCache)
                {
                    if (!hashSet1.Contains(assemblyAssetProvider.AssemblyName))
                    {
                        this.AddProvider((AssetProvider)assemblyAssetProvider);
                        EnumerableExtensions.ForEach <TypeAsset>(Enumerable.OfType <TypeAsset>((IEnumerable)assemblyAssetProvider.Assets), (Action <TypeAsset>)(asset => asset.OnProjectChanged()));
                    }
                }
            }
            else
            {
                providerCache            = new AssemblyAssetAggregator.ProviderCache();
                providerCache.Disposing += new EventHandler(this.ProviderCache_Disposing);
                foreach (string path in new HashSet <string>(BlendSdkHelper.GetExtensionDirectories(this.activeProject.TargetFramework)))
                {
                    string[]         files    = Directory.GetFiles(path, "*.dll");
                    HashSet <string> hashSet2 = new HashSet <string>();
                    foreach (string filename in files)
                    {
                        foreach (string str in AssemblyAssetAggregator.GetDesignFileNames(filename, true))
                        {
                            hashSet2.Add(str);
                        }
                    }
                    foreach (string filename in files)
                    {
                        if (!hashSet2.Contains(filename.ToUpperInvariant()))
                        {
                            IAssemblyLoggingService assemblyLoggingService = (IAssemblyLoggingService)null;
                            if (this.designerContext.Services != null)
                            {
                                assemblyLoggingService = this.designerContext.Services.GetService <IAssemblyLoggingService>();
                            }
                            AssemblyAssetProvider assemblyAssetProvider = new AssemblyAssetProvider(this.activeProject, assemblyLoggingService, filename);
                            providerCache.Add(assemblyAssetProvider);
                            list.Add(assemblyAssetProvider);
                            this.AddProvider((AssetProvider)assemblyAssetProvider);
                        }
                    }
                }
                if (!AssetLibrary.DisableAsyncUpdateCache)
                {
                    this.activeProject.Platform.Metadata.SetPlatformCache(DesignSurfacePlatformCaches.AssemblyAssetProviders, (object)providerCache);
                }
            }
            return(new Tuple <List <AssemblyAssetProvider>, AssemblyAssetAggregator.ProviderCache>(list, providerCache));
        }
Пример #7
0
 public static string GetSubsetFontTargetFileName(FrameworkName targetFramework)
 {
     return(BlendSdkHelper.GetFontTargetsFile(BlendSdkHelper.GetCurrentFramework(targetFramework)) ?? string.Empty);
 }
Пример #8
0
        private void OnFirstIdle()
        {
            PerformanceUtility.StartPerformanceSequence(PerformanceEvent.StartupCacheWarmUp);
            PerformanceUtility.EndPerformanceSequence(PerformanceEvent.PostingFirstIdleandCallingApplicationRun);
            ICommandLineService service1 = this.Services.GetService <ICommandLineService>();

            this.CloseWelcomeSplashScreen();
            ILicenseService service2 = this.Services.GetService <ILicenseService>();

            BlendApplication.InitializeLicensingDialogResource(service2);
            if (!(service2 is LicenseService) || !LicensingDialogHelper.EnsureProductIsLicensed(this.Services, 0))
            {
                this.Shutdown(-1);
            }
            else
            {
                this.MainWindow.IsEnabled = true;
                this.MainWindow.Focus();
                if (service1.GetArguments("PerfTest") != null)
                {
                    string[] arguments = service1.GetArguments("PerfTest");
                    if (arguments.Length == 1)
                    {
                        new PerformanceTester(this.Services).RunTestFile(arguments[0]);
                    }
                }
                else
                {
                    IProjectManager service3 = this.Services.GetService <IProjectManager>();
                    service3.InitializeRecentProjects();
                    if (this.Services.GetService <IFeedbackService>().ShouldPromptAtStartup)
                    {
                        new FeedbackOptionsCommand(this.Services).Execute();
                    }
                    BlendSdkHelper.PromptUserForMissingSdk(this.Services);
                    this.ShowMefComposeError();
                    bool     flag      = true;
                    string[] arguments = service1.GetArguments(string.Empty);
                    if (arguments == null || arguments.Length != 1)
                    {
                        IConfigurationObject configurationObject = this.Services.GetService <IConfigurationService>()["WindowService"];
                        if (configurationObject != null)
                        {
                            object property = configurationObject.GetProperty("SkipWelcomeScreen");
                            if (property != null && property is bool && (bool)property)
                            {
                                flag = false;
                            }
                        }
                    }
                    if (service1.GetArgument("SkipWelcomeScreen") != null || this.TestingStartup)
                    {
                        flag = false;
                    }
                    service3.InitializeFromKnownProjects((string[])null);
                    if (flag && service3.CurrentSolution == null)
                    {
                        WelcomeScreen.Show(this.Services);
                    }
                }
                string[] arguments1 = service1.GetArguments("actions");
                if (arguments1 != null && arguments1.Length == 1)
                {
                    new ActionProcessor().ProcessActionFile(arguments1[0], this.Services);
                }
                this.Services.GetService <SplashService>().UpdateSplashVersion(service2);
            }
        }