gpt4 book ai didi

windows-phone-7 - 序列化VM与状态类

转载 作者:行者123 更新时间:2023-12-03 10:39:43 25 4
gpt4 key购买 nike

在对事件注册感到好奇之后(您可以在此处找到ViewModel Event Registration and ViewModel Lifetime),现在我正在考虑viewmodel逻辑删除:

如果是Tombstoning,ViewModel序列化是一个好方法吗?
我正在考虑不同的 View 模型引用同一类的情况。在Viewmodels进行序列化和反序列化的情况下,引用的类实例可能具有重复的实例,不是吗?

拥有专门的状态类会更好,因为它的独特目的是包含所有应用程序数据,每个 View 模型都从那里获取数据(我是指对数据的引用)并在那里更新数据,而应用程序认为只序列化那些专门的类?

任何有关此主题的经验将不胜感激。

问候
天宇

最佳答案

Caliburn Micro在框架中内置了许多功能,可让您将 View 模型或整个图形的属性保存到手机状态和应用程序设置中。您只需要创建一个类并从StorageHandler继承即可。

public class PivotPageModelStorage : StorageHandler<PivotPageViewModel> 
{
public override void Configure()
{
this.ActiveItemIndex().InPhoneState().RestoreAfterViewLoad();
}
}

以及您其他发布的问题。 CM有一个很好的方法来处理手机上的强制 View 优先方法。它允许您通过指定VM进行页面导航,其余的将由它处理。另外,如果您指定要传递CM的参数,则会将其从查询字符串中拉出并填充目标VM上的属性。
public void GotoPageTwo() 
{
navigationService.UriFor<PivotPageViewModel>().WithParam(x => x.NumberOfTabs, 5).Navigate();
}

关于windows-phone-7 - 序列化VM与状态类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9213377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com