public AnswersDetailsPage(QuestionsAnswers answers)
        {
            InitializeComponent();
            Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page.SetUseSafeArea(this, true);
            this.answers   = answers;
            BindingContext = new AnswersDetailsViewModel(answers);

            formsWebView.OnContentLoaded += delegate(object sender, EventArgs e)
            {
                RefreshAnswers();
            };

            formsWebView.AddLocalCallback("reload", async delegate(string obj)
            {
                if (formsWebView.LoadStatus == LoadMoreStatus.StausDefault || formsWebView.LoadStatus == LoadMoreStatus.StausError || formsWebView.LoadStatus == LoadMoreStatus.StausFail)
                {
                    var questionsComments = JsonConvert.SerializeObject(await ViewModel.ReloadCommentsAsync());
                    await formsWebView.InjectJavascriptAsync("updateComments(" + questionsComments + ");");
                }
            });
            formsWebView.AddLocalCallback("editItem", delegate(string id)
            {
                var questionsAnswers = ViewModel.AnswersComments.Where(n => n.CommentID == int.Parse(id)).FirstOrDefault();
                Device.BeginInvokeOnMainThread(async() =>
                {
                    var page = new AnswersCommentPopupPage(answers, new Action <AnswersComments>(OnResult), questionsAnswers);
                    await Navigation.PushPopupAsync(page);
                });
            });
            formsWebView.AddLocalCallback("deleteItem", async delegate(string id)
            {
                var result = await ViewModel.DeleteAnswersCommentsAsync(int.Parse(id));
                await formsWebView.InjectJavascriptAsync("deleteComment(" + id + "," + result.ToString().ToLower() + ");");
            });
        }
 protected override bool OnBackButtonPressed()
 {
     if (popupPage != null)
     {
         Navigation.RemovePopupPageAsync(popupPage);
         popupPage = null;
         return(true);
     }
     return(base.OnBackButtonPressed());
 }
 async void OnShowComment(object sender, EventArgs args)
 {
     if (UserTokenSettings.Current.HasExpiresIn())
     {
         MessagingService.Current.SendMessage(MessageKeys.NavigateLogin);
     }
     else
     {
         popupPage = new AnswersCommentPopupPage(answers, new Action <AnswersComments>(OnResult));
         if (popupPage != null && Navigation != null)
         {
             await Navigation.PushPopupAsync(popupPage);
         }
     }
 }