Xamarin 表单:为什么 Popupimage 显示 2 次?

Xamarin forms: Why Popupimage showing 2 times?

我正在使用 Rg.Plugins.Popup(1.1.4.129-beta) 来显示 popupimage。我正在使用以下代码显示 popuppage.

await PopupNavigation.Instance.PushAsync(new UploadImagePopupPage(imagepath), true);

我的问题

有时弹出显示2次。

问题场景

首先,我从一个 contentpage.

调用如下所示的 popupimage
//Checking one condition
if (_images.Count != 0)
{
   await PopupNavigation.Instance.PushAsync(new UploadImagePopupPage(picturepath), true);
}

UploadImagePopupPage中添加了以下用于显示图像的代码:

popupimage.Source = picturepath;   

然后从 UploadImagePopupPage 我点击按钮时发送如下消息。因此,observablecollection 中的下一张图片将显示为弹出窗口。

MessagingCenter.Send<UploadImagePopupPage>(this, "complete");

然后再次从初始页面调用 popupimage,如下所示:

MessagingCenter.Subscribe<UploadImagePopupPage>(this, "complete", (sender) =>
{
   ShowImagePopUp();
});

public async void ShowImagePopUp()
    {
        try
        {
            //Removing current popup
            await PopupNavigation.Instance.PopAsync();

             //Checking one condition
            if (Utility.picturecount < _images.Count)
            {
               // Following popup code invoking 2 times
                await PopupNavigation.Instance.PushAsync(new UploadImagePopupPage(_images[Utility.picturecount]), true);
            }
            else
            {
                _images.Clear();
                await Navigation.PopModalAsync();
            }
            Utility.loadPhotoAlbum = true;
        }
        catch (Exception e)
        {
            Debug.WriteLine("Exception:>>"+e);
        }
    }

我实现这个是为了将 observablecollection 个图像一张一张地显示为 popup。弹出页面中有一个按钮,当单击该按钮时,只会出现下一个弹出窗口。有人遇到过这类问题吗?

您需要取消订阅 OnDisappearing

中的活动
protected override void OnDisappearing() 
{ 
    base.OnDisappearing(); 

    MessagingCenter.Unsubscribe<UploadImagePopupPage>(this, "complete"); 
}