关闭并返回毛伊岛应用程序时保持视图模型状态的正确方法是什么?

问题描述 投票:0回答:1

我正在使用 Shell 开发带有选项卡式主页的毛伊岛应用程序。在主选项卡页面之一上有一个用于创建新表单的按钮,该按钮将用户导航到绑定到 CreateFormViewModel 的 CreateFormPage。

CreateFormPage 包含一个复杂的表单,其中包含各种输入字段,例如条目、复选框等。当用户关闭此页面并导航到应用程序内的其他位置时,我想确保如果他们返回表单,他们可以从哪里继续他们停止或开始新的形式。

我的想法:

1。在 ViewModel 中实现自动保存

在视图模型中,我实现了自动保存策略,因此当任何属性发生更改时,它都会保存到缓存中,以便可以从那里加载。

2。使用单例服务进行表单状态管理

创建一个 FormContainerService 注册为具有 FormItemViewModel 属性的单例。当初始化 CreateFormViewModel 时,我可以检查单例 FormContainerService 中 FormItemViewModel 的状态并从那里加载。

3.用ActiveFormItemViewModel封装

在 CreateFormViewModel 内部,将有一个作为 ActiveFormItemViewModel 的视图模型属性,而不是属性,它将保存条目的表单属性,并且该视图模型将被注册为单例。

我想了解一些使用 MVVM 的首选方式是什么?

c# mvvm maui
1个回答
0
投票

正如 Jason 在评论中所说,这取决于你。但在我看来,“最简单直接”的方法是像这样使用 DI :

build.Services.AddSingleton<CreateFormPage, CreateFormViewModel>();

在你的

MauiProgram.cs

确保您的

CreateFormViewModel
实现
INotifyPropertyChanged

有关 DI 的更多信息:Maui 依赖注入

© www.soinside.com 2019 - 2024. All rights reserved.