0

由于很可能我做错了什么,我想描述一下我正在尝试完成的事情,以防有更好的方法。

平台:使用 HTML5/WinJS 导航模板的 Windows 8 应用程序。

我有一些 PageControls 可以查询数据并使用 d3.js 来可视化结果集。

我有另一个 PageControl(dashboard),它使用 WinJS.UI.ListView 提供指向这些页面/图表的链接。目前,我在 ListView 中使用了一些静态图像。我要做的是访问图形页面并在选择屏幕上显示图形的“较小”版本。

我尝试过的一些事情: - iFrame 似乎没有滚动(结果看起来很丑陋)。- 我无法弄清楚如何以编程方式进行屏幕截图(这将是最好的选择,因为我可以在使用共享合同共享图表时使用相同的技术)。- 我试过做一个 Page.render,但它似乎只有在我在 html 页面中的某个地方调用我的 draw() 函数时才有效。换句话说,ready() 函数似乎没有作为渲染的一部分被调用。所以,我已经将绘图代码移到了 html 中(我真的不喜欢),这似乎工作正常。我想做的是将绘图函数移回 Page.define 并从 html 中的一行脚本调用它(除非有更好的方法),但我没有

我将不胜感激有关语法的任何指示或有关更好地完成一般任务的方法的建议。

4

1 回答 1

0

我建议将绘图代码放在一个单独的 .js 文件中,您可以从应用程序的任何位置引用该文件。设置如下:

WinJS.Namespace.define('My.App.Namespace', {
    drawingFunction: function () {
        //code goes here
    }
});

将其保存到名为 drawing.js 的文件中,并将其包含在您的 default.html 中。然后您可以My.App.Namespace.drawingFunction()从 html 或 javascript 调用。

于 2013-04-16T20:43:29.280 回答