実装するビューモデルが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
たが、クエリ情報は表示されず、登録されたビュー文字列名だけが表示されました