Шаблон MVVM - Как я могу инициировать ICommand или CommandReference в коде позади

Я искал это на Переполнении стека, но еще не мог найти ответ на это, таким образом, я надеюсь, что это не дубликат...

У меня есть приложение с помощью шаблона MVVM, мне нравится содержать вещи в чистоте, но иногда немного кода позади кажется инструментом для очистки, чем обходное решение XAML.

Я хочу знать, возможно ли инициировать команду от codebehind.

Я, по моему мнению, уже настроил ссылку команды (см. ниже),

<local:CommandReference 
                 x:Key="CommandReferencePreviewReportsCommand" 
                 Command="{Binding PreviewReportsCommand}" />

То, что я хочу сделать, смочь инициировать ссылку команды или ICommand из кода c# позади представления. Кто-либо знает, как сделать это?

5
задан Mark Pearl 19 January 2010 в 08:35
поделиться

3 ответа

Вы можете просто вызвать команду из кода-позади:

var parameter = null; // can also be any object you'd like to use as a parameter
this.PreviewReportsCommand.Execute(parameter);
6
ответ дан 13 December 2019 в 19:27
поделиться

Хорошо ... Марк, казамнун - ты из-за меня на правильном пути ... Итак, я вводит ваш голос ...

Я не понимал, что контекст данных может быть в типе, Что затем сделает команды в ViewModel видимой ... поэтому код ниже работает для моей ситуации .. И общий раствор будет похоже.

((ViewModel.PrintSelectViewModel) this.DataContext).PreviewReportsCommand.Execute(null);
4
ответ дан 13 December 2019 в 19:27
поделиться
1
ответ дан 13 December 2019 в 19:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: