2012-10-25 6 views
1

Je souhaite créer l'application WPF en chargeant mes assemblys logiques d'application derrière l'écran de démarrage, comme un IDE NetBeans avec une barre de progression. Je comprends que ma demande est petit et il n'y a pas dans ce sence, mais je veux faire une telle chose si cela peut se faire dans .NET.NET assemblys loading

+3

Pourquoi voulez-vous rendre votre application ennuyeuse pour vos utilisateurs? Si votre application prend 30 secondes à charger, un écran de démarrage est approprié. Mais si votre application peut démarrer instantanément, quand le retarder arbitrairement? C'est très mauvais UX. Cela dit, avez-vous essayé Google? – JDB

+0

Ce problème est principalement éducatif pour moi que la fonctionnalité nécessaire. D'ailleurs je pense que je le résous et j'ai eu un écran de démarrage avec barre de progression. Ainsi, je peux voir mes assemblages logiques d'applications se charger dans l'application au démarrage. Oui, cela prend moins de la moitié de la seconde. Avant hier, je ne pouvais même pas imaginer comment le faire. Et je pense que je garde mon écran de démarrage dans mon application parce que je pense que cela rend mon UX meilleur –

Répondre

0

les assemblages chargeant les informations de progression d'abord, nous déterminons lesquels des assemblages n'étaient pas chargés pour l'instant. Nous devons donc connaître la liste complète des assemblys qui seront chargés dans AppDomain (à partir des assemblys référencés) et les comparer aux assemblys déjà chargés. Puis, nous pouvons forcer le chargement des assemblages manquants et afficher les informations de progression.

foreach (AssemblyName assembly in assembliesToLoad) 
{ 
    ShowAssemblyLoadingInformation(assembly); 

    AppDomain.CurrentDomain.Load(assembly); 

    ReportProgress(); 
} 
1

Oui je suis d'accord avec "fsimonazzi" idée. Mais si vous pensez avoir besoin de beaucoup de longs processus en synchronisation avec le chargement de l'écran de démarrage pour montrer la progression du processus et les choses plus cool, vous pouvez le faire en utilisant l'article suivant comme référence: Splash Screen in WPF using custom application start-up class

Questions connexes