Je souhaite afficher un curseur d'attente pendant un long processus dans une application Prism que j'écris. Je l'ai câblé en utilisant un événement composite WaitCursorRequestEvent<bool>
. 'Vrai' signifie montrer le curseur d'attente, 'faux' signifie revenir à la valeur par défaut.Affichage du curseur d'attente?
The Shell est abonnée à l'événement et le traite à l'aide du gestionnaire d'événements suivant:
/// <summary>
/// Handles the WaitCursorRequest event.
/// </summary>
public void OnWaitCursorRequest(bool showWaitCursor)
{
// Set cursor
this.Cursor = showWaitCursor ? Cursors.Wait : Cursors.Arrow;
this.ForceCursor = true;
}
Le module qui exécute le processus fastidieux publie le cas d'une charge utile « véritable » quand il démarre le processus, et publie à nouveau l'événement avec une charge utile 'false' à la fin du processus.
Le gestionnaire d'événements est appelé dans les deux cas - j'ai testé en définissant un point d'arrêt. Mais le curseur ne change pas. Une idée de ce que je fais mal? Merci.
Set Mouse.OverrideCursor comme indiqué ci-dessus pour afficher le curseur d'attente; définissez-la sur null pour effacer le curseur d'attente et revenir au curseur par défaut. –