2010-10-28 2 views
1

Dans mon projet, je veux d'abord supprimer des lignes, puis insérer de nouvelles lignes.gérer la séquence asynchrone dans silverlight?

Mais parfois, il insère d'abord les nouvelles lignes, puis les lignes de départ.

Pour résoudre ce problème, j'ai besoin de gérer les opérations dans une séquence appropriée.

S'il vous plaît aidez-moi.

Répondre

1

Il s'agit d'un problème/problème courant avec Silverlight car pratiquement tout "est" asynchrone (pour de bonnes raisons). En fonction de la façon dont vos ajouts et suppressions sont déclenchés, vous pouvez mettre en file d'attente des tâches (par exemple une liste de délégués) et demander à chaque tâche d'exécuter la tâche suivante à la fin de la liste. L'alternative va paraître un peu complexe, mais la solution que nous avons trouvée est de créer une classe SequentialAsynchronousTaskManager qui fonctionne de la même manière que la classe SilverlightTest qui utilise les méthodes EnqueueConditional() pour ajouter des conditions d'attente et EnqueueCallback () s pour exécuter du code.

Il contient essentiellement une liste de délégués (qui peuvent être de simples expressions Lambda) et l'exécute régulièrement jusqu'à ce qu'il renvoie true (EnqueueConditional) ou exécute simplement du code (EnqueueCallback).

Questions connexes