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");
}
我正在使用 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");
}