Je crée une application de saisie de données simple sous forme WPF à l'aide du modèle MVVM. Chaque formulaire a un objet présentateur qui expose toutes les données, etc. Je voudrais utiliser les commandes WPF pour activer et désactiver les boutons Modifier/Enregistrer/Supprimer et les options de menu.Commandes WPF - Exécution sans code par défaut
Mon problème est que cette approche semble m'obliger à ajouter beaucoup de code au code-behind. J'essaie de garder ma couche de présentation aussi mince que possible, donc je préfère que ce code/logique soit dans ma classe de présentateur (ou ViewModel) plutôt que dans le code-behind. Quelqu'un peut-il suggérer un moyen de parvenir à la même chose sans code-behind?
Mon XAML ressemble un peu à ceci:
<Window.CommandBindings>
<CommandBinding
Command="ApplicationCommands.Save"
CanExecute="CommandBinding_CanExecute"
Executed="CommandBinding_Executed"
/>
</Window.CommandBindings>
et mon code-behind ressemble un peu à ceci:
private void CommandBinding_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = (
_presenter.SelectedStore != null &&
_presenter.SelectedStore.IsValid);
}
Grand lien - Cheers! –