Я использую Rg.Plugins.Popup
(1.1.4.129-бета) для показа popupimage
. Я использую следующий код для показа popuppage
.
await PopupNavigation.Instance.PushAsync(new UploadImagePopupPage(imagepath), true);
Мой выпуск
Иногда всплывающее окно показывает 2 раза.
Сценарий проблем
Сначала я звоню popupimage
, как показано ниже, от одного contentpage
.
//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
. Во всплывающем окне есть кнопка, и при нажатии на эту кнопку появляется только следующее всплывающее окно. Кто-нибудь сталкивается с этим типом проблемы?