Estoy construyendo una aplicación de entrada de datos simple en formato WPF usando el patrón MVVM. Cada formulario tiene un objeto presentador que expone todos los datos, etc. Me gustaría usar los Comandos WPF para habilitar y deshabilitar los botones Editar/Guardar/Eliminar y las opciones de menú.Comandos WPF - Hacerlo sin código subyacente
Mi problema es que este enfoque parece requerir que agregue muchos códigos al código subyacente. Estoy tratando de mantener mi capa de presentación lo más delgada posible, así que preferiría que este código/lógica estuviera dentro de mi clase presentadora (o ViewModel) en lugar de en código subyacente. ¿Alguien puede sugerir una manera de lograr lo mismo sin código subyacente?
Mi XAML se ve un poco como esto:
<Window.CommandBindings>
<CommandBinding
Command="ApplicationCommands.Save"
CanExecute="CommandBinding_CanExecute"
Executed="CommandBinding_Executed"
/>
</Window.CommandBindings>
y mi código subyacente se ve un poco como esto:
private void CommandBinding_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = (
_presenter.SelectedStore != null &&
_presenter.SelectedStore.IsValid);
}
Great link - cheers! –