所以我想传递一些Icommand参数。我完全了解如何使用CommandParameter从XAML做到这一点。但是,是否有一种方法也可以从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代码中设置命令参数/参数。不管是一个好主意是另一回事! :)