2017-02-16 5 views

答えて

0

UWPプロジェクトの戻りタイプauth.GetUI()Windows.UI.Xaml.Controls.Pageです。したがって、UWPプロジェクトにカスタムPageRendererを作成し、次のコードのようにネイティブコントロールをWindows.UI.Xaml.Controls.Pageとして設定することができます。

使用

public class LoginPageRenderer : PageRenderer 
    { 
     protected override void OnElementChanged(ElementChangedEventArgs<Page> e) 
     { 
      base.OnElementChanged(e); 
      if (Control == null) 
      { 
       SetNativeControl(new NativeLoginPage());  
      } 
     }   
    } 

NativeLoginPage

NativeLoginPage <Frame x:Name="Myframe " />ためのフレームを追加します。

private void btn_Click(object sender, RoutedEventArgs e) 
{ 
    var auth = new OAuth2Authenticator(
     clientId: "", 
     scope: "", 
     authorizeUrl: new Uri(""), 
     redirectUrl: new Uri("") 
     ); 
    auth.Completed += Auth_Completed; 
    var page = auth.GetUI(); 
    Myframe.Navigate(auth.GetUI()); 
} 

private void Auth_Completed(object sender, AuthenticatorCompletedEventArgs e) 
{ 
    if (e.IsAuthenticated) 
    { 
    } 
    else 
    { 
    } 
} 
+0

おかげで、私は、コードの上にしようとしているが、(Windows.UI.Xaml.Controls.Pageとしてコントロール).Frameはリターンnullです –

0

私は同じ問題を抱えていましたが、私は同じことを同時にやろうとしているので、最初から投稿に従っています。私は共有プロジェクトとiOSプロジェクトとUWPプロジェクト(私の代わりにAndroidはありません)を持っています。私はiOSには問題ありませんが、魅力的です。しかし、私はPageRendererをUWPでファイナライズすることはできません。

私はNico Zhuの勧告に従った。私はUWPプロジェクトにXaml User Controlを追加しました。私はまた、上記のようにXamlにフレームを追加しました。しかし、文Myframe.Navigate(auth.GetUI())が実行されると、「Xamlの解析に失敗しました」というエラーが表示されます

しかし、私はこれを見つけました:http://damianblog.com/2016/09/04/uwp-oauth-in-xamarin-forms-using-xamarin-auth/。 私はそれに記載されている指示に従って、それは完全に働いた。

誰かを助けることを願っています。

0
あなたの質問に

直接答えUWPのための次のコードは、次のとおりです。

Windows.UI.Xaml.Controls.Frame root_frame = Windows.UI.Xaml.Window.Current.Content as Windows.UI.Xaml.Controls.Frame; 
root_frame.Navigate(auth.GetUI(), auth); 
関連する問題