Передача параметров Icommand из ViewModel - PullRequest
0 голосов
/ 14 ноября 2018

Итак, я хочу передать некоторые параметры Icommand. Я полностью понимаю, как это можно сделать из XAML с помощью CommandParameter. Однако есть ли способ установить параметр из ViewModel?

Я ценю, что это не очень подход MVVM, но пока забудьте об этом.

Чтобы дать представление о том, что я имею в виду, я включил часть своего кода.

Раздел ViewModel:

public HandHeldButtonClickCommand SendButtonCommand { get; set; }

SendButtonCommand = new ButtonClickCommand(SendCmd(x)); // This is wrong but the idea is to set the command to be delegated and pass it the parameter x

private void SendCmd(int sendValue)
{
        // Do stuff here with sendValue
}

Тогда для ICommand:

public class ButtonClickCommand : ICommand
{
    public event EventHandler CanExecuteChanged;
    private Action<object> execute;

    public ButtonClickCommand(Action<object> execute)
    {
        this.execute = execute;
    }

    public bool CanExecute(object parameter)
    {
        //throw new NotImplementedException();
        return true;
    }

    public void Execute(object parameter)
    {
        execute(parameter);
    }
}

Любая помощь будет великолепна. Главное, что я хочу узнать, могу ли я установить параметр / аргумент команды из кода viewModel. Хорошая идея или нет - это другое дело! :)

...