Как «отключить» кнопку в WPF, используя шаблон MVVM?

Я пытаюсь понять WPF и MVVM и добился хорошего прогресса. С WPF и MVVM дела идут хорошо.

Однако, сторона XAML и привязки данных - это совсем другая история :)

Как бы я пошел "отключить" кнопку?

Например, в моей модели представления есть свойство CanClose, которое определяет, можно ли в данный момент закрыть приложение. Если рабочий поток выключен, что-то делает, то для этого свойства установлено значение false, и я бы хотел либо затенять кнопку серым, либо визуально отключить кнопку «Закрыть» с помощью какого-либо связывания.

Как бы я поступил так?

Спасибо!

Редактировать -

Жаль, что я могу принять только один ответ.

Эти два ответа очень помогли мне. В публикации Кента он сделал еще один шаг, объяснив, почему вы должны внедрить командную инфраструктуру в свое приложение вместо того, чтобы отключать кнопку, как я просил:

Как «отключить» кнопку в WPF с помощью шаблона MVVM?

И ответ на мой оригинальный вопрос:

Как «отключить» кнопку в WPF с помощью шаблона MVVM?

Ответы на вопрос(4)

Ваш ответ на вопрос