1

xamarin フォームでは、マスター詳細レイアウトを持つ RootPage。私の仕事は、ユーザーがログインに成功した後にそのページを表示することです。ログインに azure モバイル サービスを使用しています。結果を得るために、より多くの時間を費やしています。他の解決策を見ましたが、それらの解決策はマスターの詳細を期待どおりにレンダリングしません。最終的に解決策を得ました。

app.cs のコードは次のとおりです。

public App()
    {

     Client = new MobileServiceClient("your azure url", "your master key");
        LoadMainPage();

    } public void LoadMainPage()
    {
        if (Client.CurrentUser == null)
        {
            MainPage=new NavigationPage(new SplashPage());
        }
        else
        {
            MainPage = new RootView();;
        }


    }

ログインページで

 async void  OnLoginClicked(object sender, EventArgs args)
    {
        MobileServiceUser user;

        try
        {
            user = await DependencyService.Get<IMobileClient>().LoginAsync(MobileServiceAuthenticationProvider.Facebook);
            Application.Current.MainPage=new RootView();
            await Navigation.PopToRootAsync();

        }
        catch (InvalidOperationException ex)
        {
            if (ex.Message.Contains("Authentication was cancelled"))
            {
                //messageLabel.Text = "Authentication cancelled by the user";
            }
        }
        catch (Exception ex)
        {
          //  messageLabel.Text = "Authentication failed";
        }

    }
4

1 に答える 1

5

これらのパスのルートを変更するのではなく、ナビゲーションを行うことを検討する必要があります。こちらの Xamarin ナビゲーション ドキュメントをご覧ください: https://developer.xamarin.com/guides/cross-platform/xamarin-forms/getting-started/introduction-to-xamarin-forms/#Navigation

await Navigation.PushModalAsync(new LoginPage());
于 2015-10-21T19:18:14.830 に答える