Я создаю простое приложение для ввода данных в форме WPF, используя шаблон MVVM. Каждая форма имеет объект презентатора, который предоставляет все данные и т. Д. Я хотел бы использовать WPF-команды для включения и отключения кнопок «Изменить / Сохранить / Удалить» и параметров меню.
Моя проблема в том, что этот подход требует от меня добавления большого количества кода в код. Я пытаюсь сохранить свой уровень представления как можно более тонким, поэтому я бы предпочел, чтобы этот код / логика был внутри моего класса докладчика (или ViewModel), а не внутри кода. Может кто-нибудь предложить способ достичь того же самого без кода позади?
Мой XAML выглядит примерно так:
<Window.CommandBindings>
<CommandBinding
Command="ApplicationCommands.Save"
CanExecute="CommandBinding_CanExecute"
Executed="CommandBinding_Executed"
/>
</Window.CommandBindings>
и мой код выглядит примерно так:
private void CommandBinding_CanExecute(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = (
_presenter.SelectedStore != null &&
_presenter.SelectedStore.IsValid);
}