MVVM Light RelayCommand Parameters
c#, mvvm-light, relaycommand, wpf
Solution
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();
}
Problem
I'm having an issue with passing a parameter to a relaycommand using the GalaSoft MVVM Light framework. I know that mvvm light's implementation of relaycommand doesn't use lambda parameters, so I did some research and found a way that people worked around it by doing something like this: ``` public RelayCommand ProjMenuItem_Edit { get { if (_projmenuItem_Edit == null) { //This should work.... _projmenuItem_Edit = new RelayCommand(ProjEditNode); } return _projmenuItem_Edit; } } private void ProjEditNode(object newText) { var str = newText as string; OrganLocationViewModel sel = ProjectOrganLocationView.GetExtendedTreeView().GetTopNode(); //Console.WriteLine(sel.OrganDisplayName); sel.OrganDisplayName = str; } ``` However, I keep getting an error on the line `_projmenuItem_Edit = new RelayCommand(ProjEditNode);` that says `Argument 1: cannot convert from 'method group' to 'System.Action'` What am I missing?