Comment suspendre et reprendre la mise en page dans WPF? J'ai entendu que ce n'est pas nécessaire. Mais c'est extrêmement nécessaire!Comment suspendre et reprendre la mise en page dans WPF?
Je traite beaucoup de positions de changement, et si elles sont rendues une par une, cela crée un effet de retard.
Voici un code:
CompositionTarget.Rendering += new EventHandler(Draw);
void Draw(object sender, EventArgs e)
{
//Clean screen
for (int i = mainCanvas.Children.Count - 1; i > -1; i--)
{
if (mainCanvas.Children[i] is PlayerUserControl || mainCanvas.Children[i] is Image)
{
mainCanvas.Children.Remove(mainCanvas.Children[i]);
}
}
//DRAW FLOOR AROUND
FloorService.FloorEntity[] floorsAround = floorService.selectFloorsAround(Player.id);
for...
{
Image image = new Image();
image.Source = new BitmapImage(new Uri("/" + floorsAround[i].ImageSource, UriKind.Relative));
mainCanvas.Children.Add(image);
}
//DRAW PLAYERS AROUND
//Its similar as draw floors around.
...
}
@Alan, avant de chercher des chasseurs de primes, prenez le temps d'ajouter plus d'informations à votre question. Quelqu'un pourrait trouver une meilleure solution. Vous allez devoir l'ajouter même pour les chasseurs de primes! :) – decyclone
@Alan Votre problème n'est pas le manque de primes, c'est le manque de détails dans la question. Mon impression est que votre solution (suspension de la mise en page) n'est pas ce que vous voulez vraiment, donc les gens ont besoin de plus de détails pour trouver la racine de votre problème. – CodesInChaos
C'est tellement simple, je l'ai déjà décrit. Pour les joueurs, c'est encore plus simple. – Seva