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

有帮助吗?

解决方案

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))                
            );
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top