в моем интерфейсе WPF я использую RoutedCommands, на которые ссылаюсь в своем xaml через следующий код:
Command="viewModel:MessageListViewModel.DeleteMessagesCommand"
Мне не нравится эта статическая ссылка на мой класс ViewModel, я думаю, что это не тактак же хорошо, как создание собственной реализации ICommand и использование синтаксиса, подобного следующему
Command="{Binding DeleteMessagesCommand}"
Создав его, я замечаю один главный недостаток того, что я сделал: RoutedCommands используют CommandManager и (в некотором смыслесовершенно непрозрачно для меня) запустить событие CommandManager.RequerySuggested, чтобы их метод CanExecute запрашивался автоматически.Что касается моей пользовательской реализации, CanExecute запускается только один раз при запуске и больше никогда после этого.
У кого-нибудь есть изящное решение для этого?