【发布时间】:2012-03-28 12:35:27
【问题描述】:
我正在尝试掌握 MVVM 模式、Silverlight 和 XAML。
我正处于一个将视图加载到框架中的主页的阶段。每个视图都可以绑定到其在 xaml 中的视图模型,然后绑定到视图模型数据。我还针对按钮单击和网格事件等(例如 SelectionChanged)发出命令。
当用户使用主页面导航菜单进行导航时,新视图会加载到框架中,从而创建其自己的视图模型的实例。
我的问题是,我的一个视图的视图模型为某些数据调用了 WCF 方法,然后通过绑定到视图模型中保存的 ObservableCollection 将其显示在网格中。如果进行了更改,它只需调用保存 WCF 方法并传回此 ObservableCollection。但是,当用户双击网格中的一条线时,我需要存储一些信息并将其保存到下一个视图(因为双击也会更改为不同的视图)。诸如“所选项目 ID”之类的信息。
我最终得到的是一组“模型”类,它们与视图模型分开并保存应用程序状态和用户选择等内容。视图模型可以在此处存储内容,例如“选定项目 ID”。在我看来..“模型”几乎是 WCF 调用另一端的所有内容?我认为我不应该在这里创建另一个模型“层”?
我不知道这种方法有什么问题,但感觉不对。
任何人都可以阐明我应该如何做到这一点吗?或者,如果这是一个好的方法?我误解了这里的模式吗?
感谢您的帮助!
【问题讨论】:
标签: silverlight xaml mvvm