2010-10-28 5 views
2

J'ajoute une autorisation d'utilisateur dans mon application WPF et j'ai un problème avec l'écran de connexion.WPF Wait for User Input

J'ai l'écran de connexion affiché mais l'application continue de traiter l'action en cours.

IE. Afficher la fenêtre principale
1. Vérifiez si l'utilisateur est autorisé à afficher la fenêtre principale
2. L'utilisateur n'a pas le droit
3. Afficher l'écran de connexion
4. Charger la fenêtre principale

Je voudrais la application de mettre en pause à l'écran de connexion jusqu'à ce que l'utilisateur est authentifié avec l'autorisation correcte.

+0

Vous ne pouvez pas interrompre le fil d'application ou d'interface utilisateur. Il suffit de démarrer les processus après l'autorisation réussie. – vorrtex

+0

Quelle méthode utilisez-vous pour afficher l'écran de connexion? – Athari

+0

J'ai utilisé AOP pour intercepter le getter des propriétés avec l'attribut personnalisé Authorize etc. –

Répondre

1

Vous pouvez afficher la fenêtre de connexion avec Window.ShowDialog, ShowDialog ne reviendra qu'après la fermeture de la fenêtre. Si vous voulez afficher l'écran de connexion dans la même fenêtre, cela devient un peu plus compliqué, vous appelez Dispatcher.PushFrame où vous voulez arrêter et définir DispatcherFrame.Continue = false; (sur les objets de cadre que vous avez passés à PushFrame, évidemment) pour reprendre l'exécution.