J'utilise des composants de tierce partie qui prennent du temps (~ 3-5s) pour le rendu - après le profilage, je suis arrivé à la conclusion que la plupart du temps est gaspillée dans MeasureOverride et Render méthodes de ces contrôles ... Je ne peux pas éditer le code source de ces composants. Le problème est .. puis-je afficher un indicateur occupé alors que l'interface est en train d'être "dessinée"? Est-ce possible dans WPF?Indicateur occupé pendant une opération de dessin d'interface Wpf longue
Répondre
Non, vous ne pouvez pas, bien, pas dans le bon sens.
Le fil de l'interface utilisateur est un rendu occupé. Le dessin de l'indicateur occupé nécessite le même thread pour dessiner l'indicateur à la place. Maintenant, vous pouvez créer une seconde fenêtre (peut-être semi-transparente) à partir d'un autre thread et placer cette fenêtre au-dessus de votre fenêtre gelée, mais c'est très difficile à obtenir, vous devez gérer des choses comme l'utilisateur déplacer la fenêtre (et vous ne saurez jamais que la fenêtre a été déplacée car le thread qui accepte les notifications de déplacement est occupé) ou une autre application apparaît entre vos deux fenêtres
Ceci est également susceptible d'interférer avec le premier dessin de fenêtre et généralement juste a de nombreux cas de coin à jamais avoir raison.
- 1. Messages de pompe pendant une opération longue
- 2. Actualiser le formulaire pendant une opération synchrone de longue durée
- 3. Comment afficher gif animé pendant une opération asynchrone longue?
- 4. Comment afficher un indicateur "occupé" avec jQuery?
- 5. Changement de vue avec indicateur occupé dans cacao touch
- 6. asp.net mvc longue opération
- 7. Affichage d'un indicateur occupé lorsque Entity Framework charge des données
- 8. Exécuter une longue opération en JavaScript?
- 9. Comment verrouiller une table pendant une opération
- 10. Timeout pendant qu'Internet Explorer est occupé
- 11. Délai de requête IIS sur une opération ASP.NET longue durée
- 12. GDI + comme dessin dans WPF
- 13. WCF et une opération plus longue après l'exécution d'un service
- 14. Comportement de dessin WPF déroutant
- 15. Indicateur XULRunner Busy/Loading
- 16. Ellipse Dessin Animation WPF
- 17. Comment supprimer l'élément sélectionné pendant une opération clone()
- 18. Concurrence pendant une mise à jour longue durée dans TSQL
- 19. Comment puis-je conserver un son pendant une longue période?
- 20. WPF Dessin Paradox
- 21. Comment sérialiser un dessin WPF?
- 22. Dessin d'arbres généalogiques avec WPF
- 23. WPF: Convertir VisualBrush en dessin?
- 24. Utilisation de la mémoire pendant la procédure de dessin
- 25. Exception SQLite: SQLite Occupé
- 26. Ligne de dessin utilisant WPF WriteableBitmap.BackBuffer
- 27. Dessin de lignes 3D dans WPF
- 28. Comment puis-je empêcher l'éjection d'un disque pendant une opération sur Mac OS X?
- 29. Indicateur ASP.NET Busy
- 30. Question stupide: où placer le curseur d'attente dans une longue opération dans le modèle MVP?