我在使用GalaSoft MVVM Light框架将参数传递给relaycommand时遇到了问题。我知道MVVM光的实现relaycommand的不使用拉姆达参数,所以我做了一些研究,发现了一种方法,人们围绕它的工作做这样的事情:MVVM Light RelayCommand参数
public RelayCommand ProjMenuItem_Edit
{
get
{
if (_projmenuItem_Edit == null)
{
//This should work....
_projmenuItem_Edit = new RelayCommand(ProjEditNode);
}
return _projmenuItem_Edit;
}
}
private void ProjEditNode(object newText)
{
var str = newText as string;
OrganLocationViewModel sel =
ProjectOrganLocationView.GetExtendedTreeView().GetTopNode();
//Console.WriteLine(sel.OrganDisplayName);
sel.OrganDisplayName = str;
}
不过,我不断收到一条错误线_projmenuItem_Edit = new RelayCommand(ProjEditNode);
,说Argument 1: cannot convert from 'method group' to 'System.Action'
我错过了什么?
我以前看到这一点,已经尝试过了,但它看起来像GalaSoft的RelayCommand不包含RelayCommand实现?当我尝试RelayCommand时出现这个错误:无法隐式地将类型'GalaSoft.MvvmLight.Command.RelayCommand
Gah,我试图编辑,但为时已晚......忽视以前的评论,我忘了改变_projmenuItem_Edit键入RelayCommand:p –
Saggio
2011-03-14 13:36:56
我更新了答案,以及其他任何人遇到此问题。 :) – Robaticus 2011-03-14 13:38:14