Comment créer une image de WPF UserControl au moment de l'exécution
J'ai créé une application WPF qui a un Canvas
sur laquelle je place UserControls
qui sont déplaçables et redimensionnables par l'utilisateur (tout comme Windows, Fenêtre). Maintenant, j'ai détecté que cela peut être très lent sur les vieux PC qui est un problème.
Comme une solution, j'ai pensé à propos de la génération d'un graphique montrant le UserControl et de montrer ce lors du redimensionnement/glisser le Contrôle, afin de prévenir WPF de recalculer tous les Éléments de façon permanente. Le seul problème est que je n'ai aucune idée de comment réaliser cette image.
Est là peut-être quelque chose comme une fonction qui fait cela .Net? Ou comment ai-je pu faire cela sur mon propre?
OriginalL'auteur Tokk | 2011-03-23
Vous devez vous connecter pour publier un commentaire.
Vous pouvez effectuer le rendu d'un contrôle WPF à une image bitmap à l'aide RenderTargetBitmap, puis cette image peut être copié dans le presse-papiers, enregistrée dans un fichier, ou utilisés dans le cadre de votre GUI
Découvrez Obtenir une image bitmap à partir d'un Contrôle de la vue
Attention à ce que vous pouvez frapper des problèmes lorsque des pièces de contrôle que vous essayez de rendre ne sont pas visibles (à l'intérieur d'un défilement de la visionneuse peut-être)
OriginalL'auteur Scott
Des applications WPF vraiment ne nécessite une certaine assez grave grunt; en particulier dans le département de graphisme et bénéficient grandement de l'un décent carte vidéo présents dans le système. Même alors, les performances des applications WPF (si pas soigneusement construit) laisse beaucoup à désirer...
Cela dit, vous pourrait éventuellement utiliser FixedDocument à rasterise un UserControl, puis de le convertir en un fichier GIF/JPG/PNG et mettre cela en place du contrôle en cours de redimensionnement... cependant, je m'attends à ce que le processus lui-même d'être aussi lent ou plus lent que votre actuel observé des problèmes de performances.
Je pense vraiment que vous avez besoin d'envisager des Formes de Windows au lieu de votre demande si il a besoin pour fonctionner sur du matériel ancien. Alternativement, vous pouvez simplifier votre INTERFACE utilisateur, ou peut-être faire quelques profilage pour voir où sont les points chauds dans le front-end.
Eh bien, ce n'est pas une option 😉
OriginalL'auteur James Webster