导航到下一页时,DispatchTimer不会停止。

时间:2017-11-22 03:12:08

标签: timer uwp

我已经在我的页面后面实现了计时器,这样如果系统处于非活动状态,它将被导航回我的主页,但是,我的一个页面的计时器无法正常工作。

导航到下一页后似乎没有停止滴答作响。我已将下面的代码放在我如何编写计时器上。

OnLoadState:

private void navigationHelper_LoadState(object sender, LoadStateEventArgs e)
    {
        // reload the timer from MainPage shell
        if (e != null)
        {
            if (e.NavigationParameter as MainPage != null)
            {
                MainPage page = e.NavigationParameter as MainPage;
                this.idleTimer = page.idleTimer;
                idleTimer.Interval = TimeSpan.FromSeconds(20);
                idleTimer.Start();
            }
        }
    }

OnNavigatedFrom

protected override void OnNavigatedFrom(NavigationEventArgs e)
    {
        navigationHelper.OnNavigatedFrom(e);
        MainPage a = new MainPage();
        idleTimer.Stop();
        idleTimer.Tick -= a.idleTimer_Tick;
        //try
        //{
        //    if (dialogTimer != null)
        //        dialogTimer.Stop();
        //}
        //catch (Exception ex)
        //{ }
    }

我的按钮点击事件导航到下一页

private void WebViewContactButton_Click(object sender, RoutedEventArgs e)
    {
        idleTimer.Stop();
        var rootFrame = (Window.Current.Content as Frame);
        rootFrame.Navigate(typeof(MainPage), "SMS");

    }

0 个答案:

没有答案