我有一个简单的问题,为什么在这两个平台上我的代码工作方式不同。 在第一步中,我使用绑定到MainViewModel
中UI中的按钮的命令发送消息。WP8和Win8中的Messanger差异
private RelayCommand<Set> _setCommand;
public RelayCommand<Set> SetCommand
{
get
{
return _setCommand
?? (_setCommand = new RelayCommand<Set>(
set =>
{
_navigationService.Navigate("QuestionView", set);
Messenger.Default.Send<Set, QuestionViewModel>(set);
}));
}
}
在第二步骤中在我在构造寄存器QuestionViewModel
消息是这样的:
Messenger.Default.Register<Set>(this, Load);
在此解决方案我使用PCL到共享平台之间的代码。
在第三步中,我想火灾荷载的方法,很简单:
private void Load(Set set)
{
Load(set, 1);
}
而在Windows应用商店项目一切正常,如我所料,但在Windows Phone项目的Load
方法firied不第一次,只有第二次。所以我必须去QuestionView
--没什么,回去再进入,现在一切正常。 Load
方法被解雇。 问题是什么?
最佳, 托马斯
在此之后,我得到了一个TargetInvocationException关于我在'QuestionViewModel'中调用的一个服务'IQuestionService',我不能在ViewModelLocator中注册这个服务,因为Google说它是在PCL中,所以我应该注册这些服务? –