首页 > 解决方案 > 导航时是否处理 View-ViewModel

问题描述

我正在使用 Prism DryIoc 在 Xamarin Forms 项目中工作。例如,我有一个MainPage, 和一个APage,ViewModels MainPageViewModelAPageViewModel. 在APageViewModel我有一个像下面的代码一样简单的计时器:

private Timer _timer;
public override void Initialize(INavigationParameters parameters)
    {
        base.Initialize(parameters);

        _timer = new Timer(1000);

        _timer.Elapsed += (sender, args) =>
        {
            Debug.WriteLine($"{DateTime.Now.ToString(CultureInfo.InvariantCulture)}: Timer run");
        };

        _timer.Start();
    }

当我使用从 MainPage 导航到 APageNavigationService.PushAsync时,计时器开始。但是当执行时NavigationService.GoBackAsyncAPageViewModel如果我不手动停止计时器,计时器不会停止_timer.Stop()。所以我想知道是否APageViewModel正确处理以清除视图模型中使用的资源?

标签: xamarinmvvmprismviewmodel

解决方案


您是否尝试过在页面的 OnDisappearing 方法上停止计时器?


推荐阅读