При тестировании на моей стороне, когда вторая страница вызывает PopAsync()
, второй экземпляр страницы должен быть удален из стека навигации, при этом новая верхняя страница становится активной страницей, но кажется, что текущая верхняя страница не будет создайте новый экземпляр, но закэшируйте старый экземпляр. Это должно быть так, как ожидалось, но ваш AdControl
также не обновляется, и событие Refresh
для AdControl
не будет вызвано тем, что оно останется пустым.
Чтобы решить эту проблему, вы можете самостоятельно обновить управление. Возможно, вам придется переопределить метод OnAppearing
на первой странице, которая содержит AdControl
, поскольку на странице, на которую вы возвращаете, вызывается переопределение этого метода. Как только вернется первая страница, будет вызвана OnAppearing
, вы можете сделать что-нибудь, чтобы принудительно обновить AdControl
, как вы хотите внутри этого метода. Например, здесь я заново инициализирую страницу, которая будет работать:
public MainPage()
{
InitializeComponent()
}
async void OnButtonClicked(object sender, EventArgs args)
{
await Navigation.PushAsync(new Page2());
}
protected override void OnAppearing()
{
base.OnAppearing();
InitializeComponent();
}
Подробнее см. этот документ .