Existe-t-il un moyen de forcer le concepteur WPF à recharger ou à actualiser sans reconstruire l’intégralité du projet ou de la solution?
S’il y a une erreur, j’obtiens une option dans la vue du concepteur pour actualiser le concepteur. Mais si je n’ai pas d’erreur, comment puis-je actualiser le concepteur après avoir apporté un changement?
Je suis un peu en retard mais c’est la meilleure solution que j’ai trouvée jusqu’à présent: chaque fois que le concepteur fait des choses stupides, je ne fais que tuer son processus.
Appuyez sur Ctrl + Maj + Échap
Accédez à l’onglet Processus.
Tuer XDesProc.exe
Cela corrige également les problèmes de la fenêtre de propriétés (comme quand il se bloque et que vous ne pouvez pas y entrer des éléments).
1 Ceci est une solution pour les problèmes de concepteur. Vos problèmes peuvent également être causés par des problèmes de compilation, auquel cas il suffit de cliquer avec le bouton droit sur la solution dans l’explorateur de solutions et de la nettoyer. La raison en est que la compilation perd parfois la synchronisation avec les fichiers générés par XAML et que le nettoyage de la solution supprime simplement ces fichiers intermédiaires; c’est comme une réinitialisation, votre compilation peut donc commencer par une table rase.
Pour le faire vite:
Confortablement, c’est généralement le dernier s’il est sortingé par ordre alphabétique.
Quand c’est le cas, c’est presque comme un rituel pour moi de faire apparaître rapidement le gestionnaire de tâches, de cliquer sur n’importe quel processus, d’appuyer sur Fin , Supprimer , Entrer (terminé), Échap (quitter le gestionnaire de tâches). Au lieu de redémarrer VS et d’attendre tous les chargements et déchargements, vous pouvez le faire en 1-2 secondes.
Vous pouvez l’append au menu Tools
de Visual Studio.
Une fois configuré, utilisez Tools..XAML Designer Restart
:
Alt + T puis L
J’ai essayé de le configurer pour Alt + T puis X mais cela s’est heurté à Tools..Choose ToolboX Items
.
Ces jours-ci, je préfère juste appuyer sur Ctrl + Shift + Esc pour faire apparaître le gestionnaire de processus, puis sur X pour passer à XDesProc.exe
puis sur Delete pour supprimer les processus XDesProc.exe
.
Dans les nouvelles versions de Visual Studio, il existe une icône au bas du concepteur pour “Désactiver le code du projet”. Si vous activez cette option, elle rechargera le concepteur.
Le concepteur Visual Studio tente de conserver la vue rendue synchronisée avec le XAML. C’est le comportement annoncé.
En ce qui concerne la reconstruction de votre application, vous n’avez pas besoin de le faire comme une habitude. Il vous suffit de le recomstackr lorsque les conditions ci-dessus s’appliquent. Une fois qu’ils ne s’appliquent pas, vous pouvez simplement éditer le XAML. Une autre façon de le dire est que si vous n’avez pas modifié le code, vous ne devriez pas avoir à reconstruire (bogues modulo).
Je ne suis pas sûr, mais je pense qu’une construction va vous rafraîchir la vue dans cette situation.
Au moins en théorie, la vue de conception est toujours synchronisée avec le XAML, il est donc inutile de la rafraîchir manuellement. Puis-je vous demander dans quelles circonstances souhaitez-vous le recharger?
Il y a des événements manipulés dans ce fichier XAML, mais la plupart du temps, il n’affichera pas l’aperçu de conception de Visual Studio. Si vous voulez voir la conception de Visual Studio, essayez avec Liaison de commandes au lieu de l’événement, vous verrez l’aperçu.
Je ne sais pas comment cela fonctionne dans l’édition WPF, mais avec les pages ASP.NET lorsque la vue de conception ne sera pas mise à jour, je peux faire 2 choses
Lorsque vous ajoutez une nouvelle ligne de code ou un nouvel object, le concepteur XAML est synchronisé, mais j’ai rencontré un comportement non synchrone lorsqu’une propriété d’un object est modifiée.
Une manière délicate est que lorsque vous modifiez une propriété, il vous suffit de supprimer un caractère “>” à la fin d’une instruction, puis de le ressaisir.
Pour information, j’ai rencontré le même problème avec XAML Designer de Visual Studio Community 2017, c’est-à-dire que parfois le concepteur n’affiche rien, la solution la plus simple consiste alors à fermer le fichier XAML et à le rouvrir.
J’obtiens également fréquemment l’exception “Une exception non prise en charge s’est produite – Cliquez ici pour recharger le concepteur – Détails: le concepteur XAML s’est terminé de manière inattendue” (le clic redémarre le concepteur avec succès).
Notez que, dans cette version de VS, le processus du concepteur XAML n’est pas nommé XDesProc.exe, mais UwpSurface.exe . Si vous préférez ou devez tuer le processus, le concepteur affiche la même exception que ci-dessus et vous pouvez le redémarrer.