私はWindows Phoneの開発にまったく慣れていません。実際に、アプリケーションにナビゲーション フローを実装しようとしています。
この単純なフローを実現したい:
- アプリの起動時に、ユーザーが既にログインしているかどうかを確認します
- 次に、MainPage などに移動します。
- それ以外の場合は、ログイン ページに移動します
- ユーザーはログインページに進み、ログインが成功するとメインページに移動します
私はすでに次のような解決策を試しています:
App.xaml.cs で
UriMapper mapper = Resources["uriMapper"] as UriMapper;
RootFrame.UriMapper = mapper;
Uri loginPage = new Uri("/LoginPage.xaml", UriKind.Relative);
Uri mainPage = new Uri("/MainPage.xaml", UriKind.Relative);
if (!ClientApi.IsAuthenticated)
{
mapper.UriMappings[0].MappedUri = loginPage;
}
else
{
mapper.UriMappings[0].MappedUri = mainPage;
}
動作しますが、ログイン後にアプリケーションの他のページに移動できません
MainPage で OnNavigatedTo(NavigationEventArgs e) をオーバーライドします
if (!App.ClientApi.IsAuthenticated)
{
NavigationService.Navigate(new Uri("/LoginPage.xaml", UriKind.Relative));
}
しかし、戻るボタンを押すと、アプリはログインページに戻らず、ログインページで動かなくなります.
私は何を間違っていますか?
PS:
私は使用しています
- MVVM ライト (およびこの投稿で説明するナビゲーション ベースのメッセージング)
- Windows Phone 8