В UWP переходы страниц по умолчанию имеют анимацию подключения. Если эта анимация подключения вас беспокоит, вы можете попробовать изменить ее.
myFrame.Navigate(typeof(Page2), null, new SuppressNavigationTransitionInfo());
Если вы хотите узнать больше об анимации подключения страницы, ознакомьтесь с этим документом: Переходы страницы .
Обновление
Я проверил код вашего проекта. В OnNavigatingFrom
вы сбрасываете состояние страницы, что приводило к изменению состояния во время анимации соединения страницы.
Функционально я предлагаю вам написать код для перезаписи состояния страницы в событии OnNavigatedTo
, переписывать состояние страницы каждый раз, когда вы переходите на страницу, без необходимости прослушивать событие OnNavigatingFrom
.
protected override void OnNavigatedTo(NavigationEventArgs e)
{
SetState(false);
base.OnNavigatedTo(e);
}
Обновление
Там это еще один метод, который заключается в задержке изменения состояния. Состояние переключения после завершения анимации страницы
protected async override void OnNavigatingFrom(NavigatingCancelEventArgs e)
{
await Task.Delay(500);
SetState(false);
base.OnNavigatingFrom(e);
}