• Модель: Содержит классы данных (например, class.cs)
• ViewModel: Содержит реализацию команды и модели представления (например, VMClass.cs, VMMainWindow.cs).
• View (Основной проект): Пользовательский интерфейс XAML, ссылающийся на проект ViewModel.
Проблема:
Несмотря на то, что мой DataContext правильно установлен в XAML и привязки не показывают никаких ошибок в выводе, логика внутри моей команды никогда не выполняется.
Моя реализация кода:.
Вот мой код:
Код: Выделить всё
// Inside ViewModel Project
public class Command : ICommand
{
private Action action;
public Command(Action action) { this.action = action; }
public bool CanExecute(object parameter) => true;
public event EventHandler CanExecuteChanged;
public void Execute(object parameter)
{
// I suspect this is the culprit:
if (parameter != null)
{
action(parameter);
}
}
}
Я связал модели представления как пространство имен и установил контекст данных следующим образом:
Код: Выделить всё
1. Разве это плохая практика — проверять этот if (параметр != null) в общем классе команд?
2. Как мне действовать в случаях, когда CommandParameter не указан?