J'ai un formulaire de connexion avec un bouton (btnLogin). Lorsqu'un utilisateur clique sur btnLogin, est déclenchée la Storyboard
suivante pour désactiver btnLogin, txtUsername, pbPassword ...Animation déclenchée par inversion si la méthode échoue à l'aide de XAML, pas de code derrière
<EventTrigger RoutedEvent="Button.Click">
<EventTrigger.Actions>
<BeginStoryboard>
<Storyboard>
<BooleanAnimationUsingKeyFrames Storyboard.TargetProperty="IsEnabled" FillBehavior="HoldEnd">
<DiscreteBooleanKeyFrame KeyTime="00:00:00" Value="False" />
</BooleanAnimationUsingKeyFrames>
<BooleanAnimationUsingKeyFrames Storyboard.TargetName="txtUsername" Storyboard.TargetProperty="IsEnabled" FillBehavior="HoldEnd">
<DiscreteBooleanKeyFrame KeyTime="00:00:00" Value="False" />
</BooleanAnimationUsingKeyFrames>
<BooleanAnimationUsingKeyFrames Storyboard.TargetName="pbPassword" Storyboard.TargetProperty="IsEnabled" FillBehavior="HoldEnd">
<DiscreteBooleanKeyFrame KeyTime="00:00:00" Value="False" />
</BooleanAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger.Actions>
</EventTrigger>
... que ce Storyboard
fonctionne, l'événement Button.Click
est également attaché à une méthode btnLogin_Click
qui vérifie les informations d'identification des utilisateurs. C'est suffisant!
Actuellement, si la tentative de connexion échoue, je dois utiliser le code suivant (sale ?!) à btnLogin_Click
pour réactiver la btnLogin, txtUsername, pbPassword contrôles afin que les détails peuvent être réinscrit ... Puis-je gérer cette réactivation en utilisant Xaml à la place? Je suis sûr que je peux, je ne peux pas comprendre comment le faire ?!
Merci pour votre aide: O)
MISE À JOUR
J'ai essayé d'utiliser EnterActions
et ExitActions
comme suggéré par bars222, mais cette approche n'a aucun moyen de déterminer si l'événement btnLogin_Click
a abouti à une connexion réussie ou infructueuse.
Aussi je pense qu'il est préférable d'utiliser la liaison de données pour votre cas, mais il nécessite du code derrière. – bars222
Merci pour la réponse. Malheureusement, cette méthode ne désactive pas le bouton du tout. Je pense qu'il est probablement désactivé, puis le permet immédiatement. Pouvez-vous me donner plus d'informations concernant la solution de liaison de données que vous avez mentionnée s'il vous plaît? –
Pour la première réponse, j'ai suggéré que le formulaire d'autorisation sera désactivé après le processus d'authentification réussie. Réponse mise à jour avec exemple de liaison de données. – bars222