Windows phone 7 导航到详细信息页面-共享视图模型或导航查询字符串?
从列表页面导航到详细信息页面时,有两种在页面之间传递选择数据的高级方法:共享视图模型实例和在导航Uri的查询字符串中传递标识符Windows phone 7 导航到详细信息页面-共享视图模型或导航查询字符串?,windows-phone-7,mvvm,navigation,tombstoning,Windows Phone 7,Mvvm,Navigation,Tombstoning,从列表页面导航到详细信息页面时,有两种在页面之间传递选择数据的高级方法:共享视图模型实例和在导航Uri的查询字符串中传递标识符 我应该用哪一种?使用一种方法而不是另一种方法是否存在任何问题(从视图模型访问当前Uri、导航事件的时间安排等)?我个人建议在导航Uri查询字符串中传递标识符。当应用程序在逻辑删除后重新启用时,这些URI将被还原以形成后堆栈 当应用程序被删除后恢复时,您可以从应用程序状态重新创建应用程序视图模型,然后使用URI查询字符串将新创建的视图与其所需的DataContext“结合
我应该用哪一种?使用一种方法而不是另一种方法是否存在任何问题(从视图模型访问当前Uri、导航事件的时间安排等)?我个人建议在导航Uri查询字符串中传递标识符。当应用程序在逻辑删除后重新启用时,这些URI将被还原以形成后堆栈 当应用程序被删除后恢复时,您可以从应用程序状态重新创建应用程序视图模型,然后使用URI查询字符串将新创建的视图与其所需的DataContext“结合” 请参见此处的工作示例:
这两种方法都很好 真正的区别在于墓碑过程 返回应用程序时,将解析对象的id:
- 在牢房里。(本地人)
- 使用特定的隔离存储管理
您可以管理SharedViewModel以将数据保存在IsolatedStorage中,以便在删除数据时恢复web加载的数据如何从ViewModel访问Uri?请阅读上面引用的文章!破坏MVVM?MVVM的两个主要租户是(1)开发人员设计器工作流和(2)单元可测试视图模型。这种方法如何破坏MVVM?因为您无法测试页面与视图模型的交互作用仅供参考: