C# OnFacebookAuthenticationFinished未使用LoginBeviorApplicationOnly Facebook启动。客户端LoginButton

C# OnFacebookAuthenticationFinished未使用LoginBeviorApplicationOnly Facebook启动。客户端LoginButton,c#,facebook,windows-phone-8.1,facebook-c#-sdk,C#,Facebook,Windows Phone 8.1,Facebook C# Sdk,我已经创建了Windows Phone应用程序(WinRT for 8.1+,而不是Silverlight应用程序)。我已经添加了Facebook 6.0.10.0和Facebook.Client 0.9.1.0以及Nuget manager(不是Github构建),并且我已经将“FacebookConfig.xml”添加到项目中,内容如中所述,fb[Facebook app id]作为声明中的协议添加到Package.appxmanifest中,并覆盖app.xaml.cs中激活的OnActi

我已经创建了Windows Phone应用程序(WinRT for 8.1+,而不是Silverlight应用程序)。我已经添加了Facebook 6.0.10.0和Facebook.Client 0.9.1.0以及Nuget manager(不是Github构建),并且我已经将“FacebookConfig.xml”添加到项目中,内容如中所述,fb[Facebook app id]作为声明中的协议添加到Package.appxmanifest中,并覆盖app.xaml.cs中激活的OnActivated

    protected override void OnActivated(IActivatedEventArgs args)
    {
        base.OnActivated(args);
        Session.OnFacebookAuthenticationFinished += OnFacebookAuthenticationFinished;
        var protocolArgs = args as ProtocolActivatedEventArgs;
        LifecycleHelper.FacebookAuthenticationReceived(protocolArgs);
使用事件处理程序

private void OnFacebookAuthenticationFinished(AccessTokenData session)
    {
        Debug.WriteLine("OnFacebookAuthenticationFinished");
    }
在主页上,我创建了登录按钮:

<controls:LoginButton x:Name="FacebookLoginButton"
                                      Height="70"
                                      Margin="5"
                                      HorizontalAlignment="Stretch"
                                      FetchUserInfo="True"
                                      LoginBehavior="LoginBehaviorApplicationOnly"
                                      Opacity="0"
                                      Permissions="email, public_profile"
                                      SessionStateChanged="LoginButton_OnSessionStateChanged"
                                      Visibility="Visible" />
文档中的按钮示例似乎已经过时,因为ApplicationId不再是LoginButton的字段,我在stackoverflow上发现了这一点,但逻辑应该仍然有效,它确实有效。使用LoginBehavior=“LoginBehaviorWebViewOnly”,我的工作非常出色,完全符合预期。但是当LoginBehavior设置为LoginBehavior应用程序时,只会发生一次事件SessionStateChanged,然后在打开状态为“Open”的facebook之前,facebook应用程序打开,允许您输入凭据,显示加载屏幕,关闭并返回到我的应用程序登录按钮屏幕。奇怪的是,没有任何类型的“权限确认对话”,并且在返回到我的应用程序后,没有触发任何事件。登录按钮的SessionStateChanged和OnFaceBookAuthentication均未从App.xaml.cs完成

    protected override void OnActivated(IActivatedEventArgs args)
    {
        base.OnActivated(args);
        Session.OnFacebookAuthenticationFinished += OnFacebookAuthenticationFinished;
        var protocolArgs = args as ProtocolActivatedEventArgs;
        LifecycleHelper.FacebookAuthenticationReceived(protocolArgs);
调试输出显示错误:

Error: BindingExpression path error: 'ApplicationId' property not found on 'Facebook.Client.Controls.LoginButton'. BindingExpression: Path='ApplicationId' DataItem='Facebook.Client.Controls.LoginButton'; target element is 'Windows.UI.Xaml.Controls.Button' (Name='PART_LoginButton');   target property is 'IsEnabled' (type 'Boolean')

请原谅我奇怪的语法和所有错误,因为英语不是我的母语

据我所知,“ApplicationId”不再是有效的参数。查看更多详细信息。您必须添加facebookconfig.xml并配置清单。

我很感激您愿意提供帮助,但您甚至都懒得阅读任何内容,对吗?这是WinRT(.NET core)应用程序,而不是Silverlight,因此适用。我仔细描述了我是如何严格按照说明操作的。