0

我正在尝试学习如何使用 MVVM 模式序列化对象。我有一个MainViewModel我想序列化的。MainViewModel序列化程序需要一个应该在 my 中创建的实例MainView,但我不知道如何访问它。我在这里有什么选择?对我来说,管理序列化我的 ViewModel(或模型)的最佳途径是什么?上课会static有所帮助还是会打破这种模式(从我所见 MVVM 似乎并不太大static

我是一个没有经验的程序员(尤其是在谈到 MVVM 时),但我真的在这里尝试,我现在只是不知所措。我非常感谢任何人在弄清楚如何序列化我的 ViewModel 和 Model 方面给予我的任何帮助。

"<Window.DataContext>
    <local:MainViewModel/>
 </Window.DataContext>

编辑:更多代码

    private void SaveGameExecute()
    {
        ObjectSerializer<MainViewModel> objSerializer = new ObjectSerializer<MainViewModel>();
        objSerializer.SaveSerializedObject(this, "Save.sav");
    }

    private void LoadGameExecute()
    {
        ObjectSerializer<MainViewModel> objSerializer = new ObjectSerializer<MainViewModel>();
        /*****/ = objSerializer.GetSerializedObject("Save.sav");
    }

编辑:无论我需要序列化什么,任何人都可以给我一些关于如何使用 MVVM 执行此操作的建议吗?如果是我需要序列化的模型,我仍然不知道如何访问它们的特定实例。如果有人有序列化 MVVM 项目的经验,请给我一些指导方针。在不知道如何定位模型/视图模型/等实例的情况下,我真的不知道该怎么做。

4

1 回答 1

5

我建议您首先重新考虑是否需要序列化 ​​ViewModel。

通常,您希望序列化底层模型。ViewModel 只是一个中介,以 View 可以理解的方式呈现 Model 数据。如果您的 ViewModel 包含您想要序列化和传递的数据,您可能会考虑将其下推到模型中。

对于一般的序列化技术,有很多。请参阅MSDN 文档(底部有演练)。

于 2013-05-30T19:22:04.927 回答