我最近开始在 UWP 中开发。我们正在开发严重依赖图形的软件,同事建议我们应该在单个 XML 中序列化每个 View ,我认为这不是一个好主意,因为属性值、静态类型处理以及我不确定我们是否可以处理序列化正确处理异步进程,并且我们有多个在其他 View 中重用的 UserControl。我想在我们的 ViewModel 中序列化数据,也许在我们的模型中。我想问一下:
View 序列化相对于 ViewModel 序列化有哪些优势?
如果 ViewModel 序列化是不利的,为什么?
编辑:我们正在使用依赖对象,我不确定我们是否可以序列化它们。
最佳答案
ViewModel 序列化的优点是我的经验:
是的,从 View 触发序列化以正确的顺序执行可能会很棘手,但只需将其冒泡到 ViewModel 层次结构的顶部并一次性序列化整个 ViewModel。
如果 View 的(依赖)属性需要序列化,首先尝试将这些属性绑定(bind)到 ViewModel。如果你成功了,所有需要做的就是序列化 ViewModel。
如果存在无法绑定(bind)到 ViewModel 的 View 的属性,请向 View 添加一个接口(interface),该接口(interface)可以从 View 的 ViewModel 调用,该接口(interface)提供了一种将这些属性从 View 读取和写入 ViewModel 并再次返回的方法。在(反)序列化 ViewModel 时调用这些方法。
关于c# - 序列化 View 或 View 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54459473/