Pass parameter to Execute and CanExecute relaycommand WPF MVVM Light

3k Views Asked by At

I'm trying to use Relay command from MVVMLight and I'm struggling to find the right syntax to pass the parameter to both the Execute method and also the CanExecute method.

Below is my failed attempt

NewMessageCommand = new RelayCommand<object>(
    (obj) => NewChatMessage(obj.panelID),
    (obj) => (obj.AccessLevelCode.Equals(Constants.PANEL_ACCESS_LEVEL_FULLACCESS)));

Any help or direction would be most appreciated

1

There are 1 best solutions below

0
On BEST ANSWER

You need to specify the actual type of the parameter if you need to access its members. For instance:

NewMessageCommand = new RelayCommand<MyClass>(
            (obj) => NewChatMessage(obj.panelID),
            (obj) => (obj.AccessLevelCode.Equals(Constants.PANEL_ACCESS_LEVEL_FULLACCESS))                
            );