Внедрение и использование интерфейса ICommand, MVVM - PullRequest
7 голосов
/ 27 января 2009

Несмотря на то, что я глубоко влюбился в шаблон MVVM, мне кажется, что есть много проблем, которые я (пока) не могу решить для себя.

Интересно, какие параметры методов интерфейса IComamnd хороши для

например. void Execute(object parameter);

Я привязываю свой вид к модели вида вот так

<Button Command="{Binding SomeCommand}" ... />

и поэтому "parameter" всегда будет нулевым.

Любые подсказки приветствуются.

Спасибо!

Обновление: Черт, через минуту после того, как я отправил этот вопрос, я нашел ответ на Stackoverflow . Очевидно, что элементы управления имеют свойство CommandParameter.

Ответы [ 2 ]

6 голосов
/ 27 января 2009

Вы можете добавить CommandParameter = "" для передачи параметра. Обычно вы передаете привязку или идентификатор, который является частью привязки, поэтому команда знает, с какой записью работать.

2 голосов
/ 01 февраля 2009

Я просто разрабатываю что-то полезное, чтобы сделать это

http://thibaud60.blogspot.com/2009/02/convert-clr-method-to-icommand-with.html

Это новое расширение разметки с именем {MethodCommand}, оно преобразует открытый метод текущего DataContext в экземпляр ICommand ...

Это просто идея: -)

С наилучшими пожеланиями

...