我和我的团队最近将我们的应用程序从Windows 8迁移到了Windows 8.1。它工作正常,直到我更新现有页面并添加一个新页面。没有任何错误,没有发生任何事情。
我理解它的方式是,在Windows 8中,拆分页面将其信息存储在DataSource类中,如果我愿意,我甚至可以将所有拆分页面的所有内容放入一个类中。
但在Windows 8.1中已经更改了,因此页面的所有内容都会进入该实际页面的页面后面的代码。
我似乎无法在网上找到有关如何执行此操作的任何示例,文章或任何内容。是否有人能够将我链接到这样的文章或解释这些组和项目是如何进入课堂的?
谢谢!
回复htuomola:
当我尝试添加新的拆分页面时,当时我并没有意识到你将内容放入页面的方式有所不同,所以我就像以前一样去做了。我承认,这样做可能不是最佳做法,但当时我觉得它最有意义。我在一个数据源类中拥有各个拆分页面的所有组和项目,并且各个页面只指向我想要的项目/组。所以,不知道更好,我给其他人做了一个相同的拆分页面,它没有拿起新的组/项目,但确实找到了旧组。旧的拆分页面在这一点上也运行良好。只有当我尝试制作一个新的8.1风格的拆分页面时,他们才停止工作并抛出错误,例如"类型' IME.Miscellaneous.Additional.Help'已包含' itemDetailGrid'"的定义和"" IMEDataSource"在命名空间中不存在"使用:IME.Data"。",即使我没有更改有这些错误的页面 - 根本没有。
答案 0 :(得分:1)
即使NavigationHelper
和可视状态处理代码略有不同,拆分页面项目模板仍然存在于Windows 8.1应用程序中。我认为它也可以很好地开箱即用。您是否尝试为项目添加新的拆分页面页面,您遇到了哪些问题?
您可以在MSDN project templates和item templates页面中找到一些文档。您可能应该在MSDN中找到一些使用拆分页面/应用程序模板的示例。
关于信息存储,你的意思是在Windows 8.0中有一个单独的视图模型类,8.1在代码后面只有一个ObservableDictionary属性吗?没有什么能阻止您用更好的解决方案替换它。我只是删除它并遵循MVVM指南,设置ViewModelLocator
并查看模型。