我试图去掌握MVVM模式,Silverlight和XAML。Silverlight中的MVVM数据持久性
我在这个阶段,我有一个主页,加载视图到一个框架。每个视图都可以绑定到其在xaml中的视图模型,然后绑定到视图模型数据。我还为像按钮点击和网格事件等(如SelectionChanged)触发命令。
当用户使用主页面导航菜单进行导航时,会将新视图加载到框架中,从而创建自己的视图模型的实例。
我的问题是,我的一个视图的viewmodel为某些数据调用WCF方法,然后通过绑定到viewmodel中的ObservableCollection将其显示在网格中。如果进行了更改,它只会调用一个保存WCF方法并传回此ObservableCollection。但是,当用户双击网格中的一条线时,我需要存储一些信息并将其保存到下一个视图(因为双击也会更改为不同的视图)。诸如“所选项目ID”之类的信息。
我最终得到的是一组“类型”的类,它们与视图模型分开,并保存应用程序状态和用户选择等。视图模型可以在这里存储事物,比如“选择的项目ID”。在我看来......“模型”几乎是WCF调用另一端的所有东西?我不认为我应该在这里创建另一个模型“图层”?
我不知道这种方法有什么问题,但感觉不对。
任何人都可以阐明我应该如何做到这一点?或者如果这是一个好方法?我误解了这里的模式吗?
感谢您的帮助!
但是,需要了解信息的视图模型尚未实例化?只有当框架中的视图通过视图xaml更改时才会发生这种情况? – creatiive 2012-03-29 09:09:54