J'ai un DocumentListView.Xaml avec un ListBox et 3 boutons. Derrière ce contrôle UserControl se trouve un DocumentListViewModel avec 3 boutons et leur propriété de commande liée à 3 RelayCommands.WPF/MVVM: Désactiver l'état d'un bouton lorsque le ViewModel derrière le UserControl n'est pas encore initialisé?
J'ai 3 contrôleur comme AdministrationController, BillingController, ReportController.
Chaque contrôleur a ObservableCollections comme Client 1: N Ordre 1: N Document identique pour l'autre Contrôleur.
Dans un contrôleur, j'ai une situation de liaison spéciale. Lorsque mon DocumentListViewModel n'est pas initialisé par son ViewModel parent comme OrderViewModel (car aucune commande n'est chargée/n'existe) alors mon UserControl a 3 boutons qui sont ENABLED. Ok l'utilisateur peut appuyer sur les 3 boutons et rien ne se passe mais c'est quand même très déroutant et surtout la cohérence dans mon interface utilisateur a disparu.
Comment puis-je définir la commande d'un bouton par défaut sur "Disabled"?
La définition de la propriété IsEnabled sur false n'aide pas car le bouton restera à l'état désactivé pour toujours. Non CanExecute TRUE le définira sur IsEnabled = true.
ET je ne veux pas introduire une autre propriété IsButtonEnabled ... ce stupide parce qu'alors j'ai les deux mondes winforms et wpf derrière ma logique de boutons ... ICommand devrait suffire.
Avec votre style, comment la propriété IsEnabled est-elle définie sur TRUE? – Elisabeth
Chaque fois que le déclencheur n'est pas atteint, la procédure normale est appelée. C'est à dire. lorsque la propriété Command est définie et que CanExecute est évalué à true. – Goblin
Fonctionne! c'est ce qui compte maintenant! Merci gobelin. – Elisabeth