我努力使用GalaSoft.MvvmLight.RelayCommand。一切都很好,直到我尝试访问闭包。我没有得到任何错误或日志输出。
这段代码是有效的:
一旦我删除了评论,命令就不再执行了。有人之前见过这种行为吗?
我也尝试了一个更简单的。
有效:
停止工作:
这段代码是有效的:
for (int i = 0; i < 3; i++)
{
var iTemp = i;
var command = new RelayCommand(() =>
{
Debug.WriteLine("executed");
Debug.WriteLine(this);
// Debug.WriteLine(iTemp);
});
Commands[i.ToString()] = command;
children.Add(dataTemplateCreator.BuildButtonWithCommand(0, gridRow, $"Commands[{i}]", i.ToString()));
gridRow++;
}
一旦我删除了评论,命令就不再执行了。有人之前见过这种行为吗?
我也尝试了一个更简单的。
有效:
Execute = new RelayCommand(() =>
{
Value += 3;
});
停止工作:
var incValue = 3;
Execute = new RelayCommand(() =>
{
Value += incValue;
});