1

我们目前正在开发一个 Xbox One 和一个 Windows 8.1 应用程序,它们共享相同的代码库,我在 WinJS.UI 中的 listView 项目中遇到了“指针悬停”(或悬停状态)问题。列表显示。

listview 项有一个 eventListener,pointerover。但是,这似乎只适用于 WinJS.UI.ListView 中的前 10 个项目,尽管我在屏幕上看到 16 个项目,并且 WinJS.UI.ListView 给了我:

indexOfFirstVisible = 0
indexOfLastVisible = 15

我的 listItem 拥有的 eventListener 是:

mediaTile.element.addEventListener("pointerover", function (that) {
   that._allItemsListView.currentItem = { hasFocus: true, index: this.tileIndex };
}.bind(mediaTile, this));

当我添加断点时,它会被命中,但仅针对前 10 个项目,尽管屏幕上有 16 个项目。

有谁知道我在这里想念什么?

提前致谢!

4

2 回答 2

0

我的猜测是您被 ListView 可视化所困扰。当您绑定事件侦听器时,可能不存在高于 10 的图块,但它们在屏幕上出现的速度足够快以至于不明显。

我不够专业,无法建议解决此问题的具体方法。从概念上讲,您可以在将新项目添加到列表(在列表本身上)时侦听一个事件,然后将您的指针事件添加到新项目。

于 2015-03-09T13:47:07.607 回答
0

是的,从远处看似乎是这样。另一个开发者接手了,我们也从 WinJS 1.0 迁移到 WinJS 2.0,这似乎解决了很多这样的问题。

直到今天,我还不确定确切的问题是什么;我们还使用了数据源的获取限制,这似乎也有助于解决问题。

对不起,我的回答不能更彻底;我将不得不问开发人员(如果他还记得的话)问题是什么,但是 afaik 主要的改进是转向 WinJS 2.0。

于 2015-03-13T12:55:05.823 回答