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";
}
}