silverlight - Silverlight 中的 MVVM 数据持久性

标签 silverlight xaml mvvm

我正在尝试掌握 MVVM 模式、Silverlight 和 XAML。

我正处于一个将 View 加载到框架中的主页的阶段。每个 View 都可以绑定(bind)到其在 xaml 中的 View 模型,然后绑定(bind)到 View 模型数据。我还在为按钮单击和网格事件等(例如 SelectionChanged)触发命令。

当用户使用主页面导航菜单进行导航时,新 View 被加载到框架中,从而创建其自己的 View 模型的实例。

我的问题是,我的一个 View 的 View 模型为某些数据调用了 WCF 方法,然后通过绑定(bind)到 View 模型中保存的 ObservableCollection 将其显示在网格中。如果进行了更改,它只需调用保存 WCF 方法并传回此 ObservableCollection。但是,当用户双击网格中的一条线时,我需要存储一些信息并将其保存到下一个 View (因为双击也会更改为不同的 View )。诸如“所选项目 ID”之类的信息。

我最终得到的是一组“模型”类,它们与 View 模型分开并保存应用程序状态和用户选择等内容。 View 模型可以在此处存储内容,例如“选定项目 ID”。在我看来..“模型”几乎是 WCF 调用另一端的所有内容?我不认为我应该在这里创建另一个模型“层”?

我不知道这种方法有什么问题,但感觉不对。

谁能阐明我应该如何做到这一点?或者,如果这是一个好的方法?我误解了这里的模式吗?

谢谢你的帮助!

最佳答案

我觉得你想多了。我认为这是一个不错的方法。如果您愿意,我认为拥有“UI 模型”是合理的。每个应用程序通常都有助手类。只要您采用“关注点分离”的方法,那么您的应用程序就可以维护。我的 silverlight 应用程序有一个“模型”区域,可以根据需要跟踪应用程序状态。该模型区域还具有特定于 UI 的类。 ——我的两分钱。

关于silverlight - Silverlight 中的 MVVM 数据持久性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9907595/

相关文章:

c# - 是否在模型中包含 View 特定信息

wpf - 如何在 MVVM 中实现 INotifyCollectionChanged 以重置、添加、删除、移动、替换 NotifyCollectionChangedAction

silverlight - 混合行为 (Silverlight 4)

c# - Silverlight 编程绘图(从 Windows 窗体转换为 Silverlight)

wpf - 如何将 Canvas 的 x,y 原点更改为左下角并翻转 y 坐标?

c# - 我如何使用 DesignData 来帮助开发 Metro 应用程序?

c# - 使用自定义 ItemsSource 刷新 ListBox 的最简单方法?

wpf - 如何使用DynamicDataDisplay在wpf中的一个x-y平面中添加多个图形

c# - WPF 数据网格 : How do I access a ComboBox in a specific row of a DataGridTemplateColumn?

c# - Xamarin 在哪里执行绑定(bind)表达式?