Почему не выполняется моя команда relay?
Как использовать параметр команды?
Если вы используете класс RelayCommand
из Статья Джоша Смита , оба вопроса имеют одинаковый ответ ... Конструктор принимает Action<object>
, а не Action
.Итак, ваш код должен быть:
return new RelayCommand((param) =>
{
MessageBox.Show("Something is clicked - Parameter value = " + param);
});
РЕДАКТИРОВАТЬ: ОК, так что вы используете RelayCommand
из MVVM Light ... Есть две версии этого класса, одна универсальная, а другаяне является.Неуниверсальная версия не принимает параметр, поэтому вам нужна универсальная версия.Ваша команда должна выглядеть следующим образом:
public RelayCommand<int> ItemClicked
{
get
{
return new RelayCommand<int>((i) =>
{
MessageBox.Show("Something is clicked - Parameter value is " + i);
});
}
}
(при условии, что параметр имеет тип int
)
Что касается того, почему ваш текущий код не работает, я не могу ответить бездополнительная информация ...