我开始在 C# 中学习 MVVM,我想知道如何在 MVVM Light 中为 ICommand 正确使用 CanExecute 方法。我的 WPF 应用程序位于 VS 2012 C# 4.5 框架中。
如何正确实现 CanExecute?
我刚刚回归真实,但我知道有一种正确的方法来处理它。也许
if(parameter != null)
{
return true;
}
这是一些示例代码。
private RelayCommand sendCommand;
public ICommand SendCommand
{
get
{
if (sendCommand == null)
sendCommand = new RelayCommand(p => SendStuffMethod(p), p => CanSendStuff(p));
return sendCommand;
}
}
private bool CanSendStuff(object parameter)
{
return true;
}
private void SendStuffMethod(object parameter)
{
string[] samples = (string[])parameter;
foreach(var sample in samples)
{
//Execute Stuff
}
}