我认为这是一个Caliburn.Micro问题,因为它与CB如何处理Windows Phone 7中的导航有关。
我有一个可以启动电话号码选择器的视图。一旦结果返回,我存储它并导航,只有导航不能工作。我假设这是因为Handle方法正在处理任务而不是我的视图。我知道在句柄完成后我可以在页面末尾按下一个按钮进行导航,但是我希望一旦结果返回就会发生这种情况。
这就是我在做的事。
public void Handle(TaskCompleted<PhoneNumberResult> message)
{
webtext.Recipient = message.Result.PhoneNumber;
webtext.RecipientDisplayName = message.Result.DisplayName;
CommitWebtextToStorage();
events.Unsubscribe(this);
navigationService.UriFor<ComposeViewModel>();
}
哪个不行。我也不能在里面调用一个方法,因为那和我正在做的一样。我需要让handle方法退出,然后调用导航服务。
答案 0 :(得分:2)
实际上,导航应该如下所示:
navigationService.UriFor<ComposeViewModel>().Navigate();
(请注意最终的Navigate
方法)
如果这只是问题中的拼写错误,我想问题可能与应用程序恢复的时间有关(当选择器任务完成后返回应用程序时会发生这种情况)。
在这种情况下,你能为此create an issue取悦吗?