2010-12-10 1 views
0

Je change de position de certaines choses dans l'événement CompositionTarget.Rendering, donc il a un peu de retard. Si je pouvais mettre à jour la mise en page seulement à la fin de cet événement, je suppose que ce problème serait résolu. C'est possible? Je vous remercie..NET - Est-il possible de mettre à jour un écran seulement à la fin d'une méthode?

 

CompositionTarget.Rendering += new EventHandler(Draw); 
void Draw(object sender, EventArgs e) 
{ 
    ... 
    //update(); 
} 
 
+1

Avez-vous vu la réponse à cette question: http://stackoverflow.com/questions/82847/in-wpf-what-is-the-equivelent-of-suspend-resumelayout-and-backgroundworker-f –

+0

Je vais voir. Si c'est bon, alors vous devriez répondre comme une vraie réponse et ne pas commenter: D – Seva

+0

leur code n'a pas fonctionné pour moi =/ – Seva

Répondre

-1

Quel framework .net utilisez-vous. .net 4 a présenté la propriété cachemode à uielememts. Définir cette propriété à une instance de bitmapcache va rasteriser votre élément et ses enfants à un cache et ne pas rasterize jusqu'à ce que l'arbre est modifié.

http://msdn.microsoft.com/en-us/library/system.windows.media.bitmapcache(v=VS.100).aspx

Pensez également à utiliser bitmaprendertarget actif à la même chose avec un peu plus de flexibilité.

+0

cette stratégie ne résout pas le problème présenté. – Seva

+0

Etes-vous absolument sûr que ce n'est pas seulement un effet secondaire malheureux du wpf rendu différé? J'ai trouvé qu'il y a généralement un temps indéterminé entre faire des changements et voir les changements à l'écran. – Gusdor

Questions connexes