导航时刷新 ViewModel 列表

ViewModel List was refresh when navigating

我有 IListViewModel 来处理 Id 和 Name 的列表。 我还有另外 4 个 ViewModel 命名 AViewModel 、 BViewModel 、 CViewModel 、 DViewModel 和我为 Xamarin 项目使用了 Prism 框架

每次导航到另一个页面时,我都会在列表中添加新项目。

我期望的是,在我浏览页面后,列表中会有 4 个项目,但不幸的是,

下面的片段是我在其中一个 ViewModel 上的示例代码

    public class CPageViewModel : BaseViewModel
{
    private readonly INavigationService _navigationService;
    private readonly IListTestViewModel _listTestViewModel;

    public ICommand NavigateToPreviousCommand => new DelegateCommand(async () => await NavigateToPrevious());
    public ICommand NavigateToRootCommand => new DelegateCommand(async () => await NavigateToRoot());

    public CPageViewModel(INavigationService navigationService, IListTestViewModel listTestViewModel) : base(navigationService)
    {
        this._navigationService = navigationService;
        this._listTestViewModel = listTestViewModel;

        listTestViewModel.TestListCollection.Add(new MyTestModel { Id = 4, Name = "Josh" });
    }

    private Task NavigateToPrevious()
    {
        return _navigationService.NavigateAsync("BPage");
    }

    private Task NavigateToRoot()
    {
        return _navigationService.GoBackToRootAsync();
    }
}

我在列表中获得了 1 条记录。下面是我遇到的问题的示例项目文件

Click this link to Download my Sample Project

大胆猜测:IListTestViewModel 已注册为临时服务。

注册为单例,你应该没问题:

containerRegistry.RegisterSingleton<IListTestViewModel, ListTestViewModelImplementation>();