当我使用匿名操作时,MvvmLight Messenger 有时不起作用。如果我将成员变量或方法作为操作传递,它可以正常工作,但使用匿名 lambda 或局部变量则不起作用。
private SongCollection songCollection;
Action<bool> c;
public MyService(SongCollection songCollection)
{
this.songCollection = songCollection;
Action<bool> a = (bool isLoading) =>
{
ChangeSong(songCollection.GetFirstSong());
};
Action<bool> b = OnLoadingComplete; //Using this instead of 'a' works.
//c = a; //Uncommenting this line makes it work, even if using 'a'.
Messenger.Default.Register<bool>(this, "IsLoading", a); //Doesn't work.
}
我猜这与垃圾收集或 MvvmLight 在幕后工作的方式有关。或者我错过了一些明显的东西?
我使用的是 MvvmLight 版本4.3.31.1
在.Net4.0上。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)