2013-10-08 106 views
2

我很新的WPF MVVM模式尤其commandsMVVM命令错误

ViewModel包含命令

public ICommand MyButtonClickCommand 
{ 
    get { return new RelayCommand(FuncToCall); } 
} 

private object FuncToCall(object context) 
{ 
    MessageBox.Show("The button was Clicked", ""); 
    return null; 
} 

和编译,我得到FuncToCall(object)' has the wrong return typeRelayCommandClass.cs

private Action<object> _action; 

public RelayCommand(Action<object> action) 
{ 
    _action = action; 
} 

谢谢全部

回答

2

当您编写方法的名称并单击其建议为您创建方法时,Visual Studio会添加错误的方法签名。签名更改为这一点,一切都会好起来:

private void FuncToCall(object context) 
{ 
    MessageBox.Show("The button was Clicked", ""); 
} 
1

制作FuncToCall()的返回类型Void和删除return声明。

private void FuncToCall(object context) 
{ 
    MessageBox.Show("The button was Clicked", ""); 
} 
1

方法FuncToCall不应该返回任何东西。

1

FuncToCall()方法不应该有任何返回类型并移除返回语句。