Вы можете использовать CommandParameter
для передачи параметра в команду.
Вы не можете вернуть значение, но вы можете установить свойство, которое вызывает NotifyPropertyChanged
, и связать что-то с этим свойством.
Возвращение значения подразумевает, что представление имеет некоторый интеллект. Вам лучше думать о представлении, как о просто отображении состояния ViewModel, которое преобразует свойства модели в значения, подходящие для отображения.
Аналогичным образом, команды должны находиться во ViewModel, поскольку они не свойственны модели.