要明确网格项目模板中的三个页面是groupedItems
(“中心”)、groupDetail
(“部分”)和itemDetail
(“细节”)。我实际上希望他们将这些页面命名为“hub”、“section”和“detail”。
如果您正在谈论拥有多个项目模板,以便中心 (groupedItems) 页面上的项目图块看起来因项目类型而异,那么最简单的方法是在 HTML 中提供多个项目模板 (WinJS.Binding.Template)然后编写自定义模板选择函数。这并不难。如果您查看我的 codeSHOW 应用程序 ( codeshow.codeplex.com ),您可以看到一个示例……查看 home.js 页面。源是在线的,所以你可以在这里看到那个页面。
如果您正在谈论拥有多个详细信息 (itemDetail) 页面,以便当用户从中心单击某个项目时,他们可能会被带到有关手机与打印机的一整页信息,那么这只是一个问题拥有多个页面,并且对您导航到的页面具有智能。如果用户从集线器单击电话,则导航到 /pages/phone/phone.html。如果他们单击打印机,则导航到 /pages/printer/printer.html。
最后,如果您的实体(即电话和打印机)足够相似,那么您可能希望保留一个页面来表示它们,并让该页面足够智能以修改其模板以获取正确的项目。在这种情况下,您可以在页面上创建两个模板(再次是 WinJS.Binding.Template),当实体被传递到页面(的“选项”部分ready(element,options)
)时,您只需检查它并查看实体类型(即电话或打印机),然后将数据渲染到正确的模板中。codeSHOW 上的Binding and Templating和Fragments and Pages演示可能会有所帮助。
如果您需要更多帮助,您可以在usdpe.ohours.org与 Microsoft 开发人员宣传员安排一对一的时间。玩得开心!