en mi WPF UI, que utilizan RoutedCommands los que me refiero en mi xaml mediante el siguiente código:aplicación WPF personalizado ICommand y el evento CanExecuteChanged
Command="viewModel:MessageListViewModel.DeleteMessagesCommand"
no me gusta este enlace estática a mi clase ViewModel , creo que esto no es tan agradable como la creación de una aplicación ICommand costumbre y utilizar una sintaxis como la siguiente
Command="{Binding DeleteMessagesCommand}"
después de haber creado uno, noto una desventaja importante de lo que he hecho: RoutedCommands utilizan el Administrador de comandos y (de alguna manera eso es completamente opaco para mí) fuego el evento CommandManager.RequerySuggested, para que su método CanExecute se vuelva a consultar automáticamente. En cuanto a mi implementación personalizada, CanExecute solo se activa una vez al inicio y nunca más después de eso.
¿Alguien tiene una solución elegante para esto?
Muchísimas gracias por este gran y concisa respuesta! Funciona de maravilla. ¿Sabe, por casualidad, cuándo y por qué se lanza RequerySuggested? –
No exactamente, pero parece que sucede muy a menudo ... –
OK, ¡muchas gracias de nuevo! –