2009-11-10 3 views

Répondre

0

Avez-vous testé s'il s'agit d'un problème de rendu XAML ou si vous avez instancié le contrôle de graphique à l'origine du blocage? Que se passe-t-il lorsque vous définissez la visibilité du graphique sur Plié et que vous l'ajoutez à la grille? Évidemment, vous ne le verrez pas sur l'interface utilisateur, vous devrez donc passer par le débogage ou simplement faire apparaître un MessageBox avant et après avoir appelé Add (myChart).

Si c'est le rendu XAML du graphique, je plongerais plus profondément dans le XAML que le contrôle de graphique et rechercherais des optimisations (si vous le pouvez, quel contrôle graphique est-ce?).

+0

En fait, une tentative de réglage de la visibilité s'est effondrée et tout est OK jusqu'à ce que je mette le contrôle graphique à nouveau visible. Je suppose que le rendu de la carte prend alors beaucoup de temps. Le temps n'est pas le problème, c'est le blocage de l'interface utilisateur jusqu'à ce que le graphique apparaisse ... – Elz

+0

S'il s'agit d'un problème de rendu, vous pourriez être bloqué. L'interface utilisateur est son propre thread. Quel contrôle graphique est-ce? Telerik? Silverlight Toolkit? –

2

Quelques choses que vous pouvez essayer:

  1. Enveloppez votre appel pour ajouter le tableau à l'intérieur de Dispatcher.BeginInvoke ([ajouter tableau]). Cela entraînera l'ajout du graphique jusqu'à ce que le cycle de travail de l'interface utilisateur en cours soit terminé et puisse l'aider à être plus réactif.
  2. Ajoutez le graphique sans aucune donnée à l'interface utilisateur. Ensuite, en arrière-plan, chargez les données et utilisez les liaisons pour que les données soient affichées dans le graphique. Essayez de comprendre comment vous pouvez briser votre graphique compliqué. Alors peut-être que vous pouvez ajouter le tableau en premier, puis ajouter quelques-uns des autres éléments au fur et à mesure.
  3. Assurez-vous que vos données pour le graphique sont déjà chargées avant d'ajouter le graphique. Je suppose que vous faites déjà cela, mais je veux juste vérifier.

Ce sont mes seules idées.

Questions connexes