我有一个实现的视图模型,IConfirmNavigationRequest
我需要将信息从这个视图模型传递到我拥有的导航代理类,该类不耦合到任何特定的视图或视图模型。
相反,导航代理类可以访问IRegion
感兴趣的对象以及IRegionNavigationService
.
ViewModel 向 Uri 添加参数
public override void ConfirmNavigationRequest(NavigationContext navigationContext,
Action<bool> continuationCallback)
{
_verificationCount++;
navigationContext.Parameters.Add("Count", _verificationCount.ToString());
continuationCallback(Verify());
}
需要访问传递参数的导航代理
// Some method
_region.RequestNavigate(new Uri(_nextView, UriKind.Relative), NavigationCallback);
private void NavigationCallback(NavigationResult navigationResult)
{
if (navigationResult.Error == null)
{
if (navigationResult.Result == true)
{
// Need to evaluate the Count argument here
// int count = ...
// if (count < 5)
QueueNextView();
} else
{
Debug.WriteLine("Navigation Cancelled");
}
}
else
{
Debug.WriteLine("Navigation Error");
}
}
如何在 ViewModel 之外通过 Region 或 NavigationService 访问参数?
- 我找不到
NavigationContext
通过NavigationService
或访问的方法Region
? - 我也试过这个
_region.NavigationService.Journal.CurrentEntry.Uri.OriginalString
但它没有显示任何查询信息,只是注册的查看字符串名称