UWP导航页面计时器

时间:2018-02-21 13:02:45

标签: c# uwp uwp-xaml

我的页面导航出现问题,当我更改页面时,我回到主页上,我的计时器NiveauTimer无法正常工作(我的文本框中没有显示)但计时器{{ 1}}运作良好。

DispatcherTimer

1 个答案:

答案 0 :(得分:2)

问题是当您从页面导航并返回到页面时,会创建页面的新实例。现有页面实例保留在内存中(因为计时器),但实际看到的页面是页面的新实例,它创建了自己的计时器。

一种解决方案是将NavigationCacheMode="Required"设置为您的页面,这样当您从页面和页面导航时,它将重用现有实例。

您还可以将Timer变量设为static并仅创建它们的单个实例。

这导致了最佳解决方案 - 使用包含定时器和其他数据的ViewModel类,并将内容ViewModels保存在内存中的导航堆栈上。 MVVM框架可以提供很多帮助,我建议使用MvvmLight,Prism或MvvmCross - 所有这些都将为您处理这个逻辑。