MVVM Light RelayCommand Parameters MVVM Light RelayCommand Parameters wpf wpf

MVVM Light RelayCommand Parameters


I believe this will work:

_projmenuItem_Edit = new RelayCommand<object>((txt)=>ProjEditNode(txt));

-- EDIT --

You'll need to define your RelayCommand with the type as well:

e.g.

public RelayCommand<string> myCommand { get; private set; }myCommand = new RelayCommand<string>((s) => Test(s));private void Test(string s){    throw new NotImplementedException();}


I don't think that RelayCommand() has a constructor that is not empty. you're trying to pass the wrong kind of method to it.

If you want the RelayCommand to support Command Parameters, you should use RelayCommand<T> where T can be any type of parameter. In your situation it would be RelayCommand<String> which would accept a method with void(string) signature. (and therefor would also be strongly typed and won't use the ugly object)


Another way to declare relay commands, will help to reduce your code

public RelayCommand ChartCommand{    set    {        RelayCommand<string> chartCommand =             new RelayCommand<string>(e => ExecuteChartCommand(e));                   }}public void ExecuteChartCommand(string vendor){}