Я пишу приложение Xamarin.В App.Xaml.cs я выставляю некоторые события.Я создал главную страницу следующим образом:
var nav = new NavigationPage(new MainPage());
MainPage = nav;
Затем с главной страницы я нажимаю еще одну страницу:
void DevicePictureBox_Click(object sender, EventArgs args)
{
Image imse = (Image)sender;
String NameofDevice =
devicesHandlesDictionary_byDevicepictureID[imse.Id].Name;
var p = new DevicesPage(NameofDevice);
Navigation.PushAsync(p);
DevicesPage подписывается на событие (отображается из приложения).Настройка некоторого Debug.WriteLine в коде, который я обнаружил, что DevicesPage все еще активен при переходе обратно к MainPage (нажатие стрелки назад или с помощью Navigation.PopAsync ()).Также, когда я снова перехожу на DevicesPage, код выполняется дважды (строка Degug.WriteLine в окне вывода появляется дважды) и 3,4,5 и т. Д., Если я продолжаю идти вперед и назад.Кажется, что новая страница создается каждый раз, а предыдущая все еще работает в фоновом режиме.Я понимаю, что события должны быть отписаны (в том случае, когда это должно быть сделано).Также меня сбивает с толку тот факт, что код все еще работает на странице, на которую вы вернулись.Как удалить страницу?