首页 > 解决方案 > Xamarin 表单:让侦听器知道弹出窗口何时关闭或打开

问题描述

我正在学习 Xamarin 表单。我正在使用这个插件Rg.Plugins.Popup 来使用 Popup

我怎样才能让一个监听器知道弹出窗口何时打开和关闭?

要关闭弹出窗口,我使用以下代码:await PopupNavigation.Instance.PopAsync(true);

要打开弹出窗口,我使用以下代码:

   await PopupNavigation.Instance.PushAsync(new YesOrNotPopup(){
    //some code here if i need 
})

;

提前致谢

标签: c#xamarin.forms

解决方案


例子:

在您的 PopUp 通话中:

    public void PopUpCall()
    {
      YesOrNotPopup PopUpYorN = new YesOrNotPopup();
      PopUpYorN.OnResult + = OnYNResult;

      Device.BeginInvokeOnMainThread(async () =>
        {
          await RMSApplication.CreatePopupPage(PopUpAssinatura);
        });
     }

    private void OnYNResult(object sender, string e){
        //your logic
        //can you close or anything
    }

在您的 YesOrNotPopup 中:

  public partial class YesOrNotPopup: PopupPage
  {
    public event EventHandler<string> OnResult;
    ...
    
    private async void BtnYes_Clicked(object sender, EventArgs e)
    {
    OnResult(this,"yes");
    }
  }

推荐阅读