Emlyn
Emlyn

Reputation: 730

Pass parameter to Execute and CanExecute relaycommand WPF MVVM Light

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

Upvotes: 0

Views: 3055

Answers (1)

Thomas Levesque
Thomas Levesque

Reputation: 292365

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))                
            );

Upvotes: 4

Related Questions