J'ai une exigence dans laquelle j'ai besoin d'afficher sur un formulaire d'utilisateur, un bouton de création si cet utilisateur n'a pas de profil et un bouton d'édition s'il a un profil. J'utilise un convertisseur pour changer la visibilité du bouton. Tout fonctionne bien au départ, mais au moment où je clique sur la fenêtre Créer un profil, et c'est le constructeur qui charge la fenêtre de profil, après que même si je ferme cette fenêtre sans rien faire, le bouton Créer devient modifier. Je suppose que c'est parce que le constructeur aurait créé l'objet de profil et donc même si l'objet est vide, il me montre le bouton d'édition au lieu de créer. Y a-t-il un autre moyen d'afficher la visibilité du bouton?Convertisseur de visibilité de bouton
Répondre
Avez-vous vraiment besoin de modifier la visibilité du bouton? Il ne s'agit généralement pas d'une bonne pratique pour l'utilisateur, car cela peut semer la confusion chez les gens quant à ce qu'ils doivent faire ensuite. Pour désactiver simplement le bouton, vous pouvez ajouter une logique à la méthode CanExecute
de la commande local:LaunchEditor
. Il existe également un événement CanExecuteChanged
qui permet à l'interface utilisateur de répondre dynamiquement aux modifications de l'accessibilité de la commande. Cela peut être la chose la plus facile à faire.
Si vous vraiment besoin de cacher le bouton, alors vous pouvez probablement créer un style avec un déclencheur basé sur IsEnabled
propriété du bouton qui fera la visibilité du bouton Hidden
lorsque IsEnabled==false
. Vous devez cependant toujours utiliser la commande pour contrôler l'accessibilité du bouton.
Dans votre cas, vous écririez deux méthodes: CanCreateProfile
et CanEditProfile
, et les inclure dans votre commande de liaison (soit en XAML ou dans le codebehind):
private void CanCreateProfile(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = userProfile == null;
}
private void CanEditProfile(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = userProfiel != null;
}
- 1. WPF Visibilité du bouton
- 2. CSS: Bouton Visibilité Problème
- 3. Visibilité du bouton radio
- 4. Visibilité de l'objet ASP.NET
- 5. Convertisseur de liaison multiple?
- 6. Convertisseur de tableau XSTREAM
- 7. Programme de convertisseur d'unité
- 8. __ visibilité visibilité pour PHP
- 9. Horaire de visibilité
- 10. problèmes de visibilité jqGrid
- 11. android régler la visibilité d'un bouton sur le minuteur
- 12. convertisseur pour convertisseur xls en sql
- 13. Problème de convertisseur avec XmlDataProvider
- 14. Besoin Personnalisable Convertisseur de devises
- 15. Convertisseur JSON - débordement de pile
- 16. Convertisseur de date en python
- 17. Définition de la visibilité du contrôle de bouton dans l'en-tête GridView
- 18. WPF Datagrid - Définit la visibilité de la colonne par ligne
- 19. Objective-C++ question de visibilité
- 20. modes de visibilité des classes
- 21. Portée de visibilité - variables globales
- 22. Programmer la visibilité de l'image
- 23. Silverlight - changement de visibilité lisse
- 24. Paramètres de visibilité du bloc
- 25. Reliure Visibilité d'un autre élément - et inversion
- 26. Suppression de la visibilité de swing
- 27. Visibilité de l'espace de noms C#
- 28. Liaison de visibilité à l'aide de DependencyProperty
- 29. infobulle Visibilité
- 30. Convertisseur de script shell vers c
Merci beaucoup pour votre réponse. Je suis très nouveau sur wpf et C#, donc si vous pouviez me montrer comment faire ça, ce serait génial. – developer
Dans votre code XAML, vous devez définir une liaison de commande, par exemple: ' UbserControl.CommandBindings> ... UserControl> ' –
LBushkin
Vous pouvez trouver cet article MSDN utile: http://msdn.microsoft.com/en-us/magazine/cc785480.aspx – LBushkin