Немного озадачен
Если у меня есть кнопка в окне wpf и она привязана к DelegateCommand
<Button Grid.Row="1" Content="Remove" Command="{Binding CommandDelete }" />
И в моей простой модели представления я прилагаю
CommandDelete = new DelegateCommand<string>(OnDeleteExecute, OnDeleteCanExecute);
Если кнопка должна быть включена, когда я выбираю элемент из списка, я могу связать выбранный элемент списка со свойством в моей модели просмотра
Report selectedReport;
public Report SelectedReport
{
get { return this.selectedReport ;}
set { this.selectedReport = value;}
}
private bool OnDeleteCanExecute(string commandParameter)
{
return (this.selectedReport != null);
}
Пока это нормально, и единственное, чего не хватает, это вызвать событие CanExecute для определенной кнопки в установщике для SelectedReport
CommandDelete.RaiseCanExecuteChanged();
Это работает, но мой вопрос: если у меня есть кнопка 10, нужно ли мне вызывать RaiseCanExecuteChanged для каждой кнопки каждый раз, когда элемент выбран или есть более умный способ