如何在Metro应用程序中设置Listview项目的焦点?

时间:2012-12-03 13:51:01

标签: javascript html5 windows-8 microsoft-metro winjs

我的metro-app中有一个listview。我想在listview中设置最后一项的焦点?我如何设置listview-item的焦点?有人可以帮助我吗?

谢谢。

3 个答案:

答案 0 :(得分:4)

您需要使用ListViews currentItem属性: http://msdn.microsoft.com/en-us/library/windows/apps/hh700672.aspx

具体来说,为其指定一个对象,其中包含您要选择的数据项的索引(来自您的数据源),并设置hasFocusshowFocus属性:

var yourListView = getYourListViewFromSomewhere();
yourListView.currentItem = { index: 8, hasFocus: true, showFocus: true }

答案 1 :(得分:1)

您是要求设置焦点还是实际选择焦点?如果你想做后者,你所要做的就是:

var indexToSelect = listView.itemDataSource.length - 1;
listView.selection.set(indexToSelect);

这将获得列表中最后一项的索引,然后选择项目。

否则Dominic的解决方案应该只用于设置焦点。

答案 2 :(得分:1)

这是一段代码,用于将列表视图的选定索引更改为最后一个索引

1)lstItems.SelectedIndex = lstItems.Items.Count - 1;

此代码可帮助您选择列表的最后一个索引。

2)lstItems.ScrollIntoView(lstItems.Items[lstItems.Items.Count - 1]);

此代码可帮助您将列表滚动到最后一个索引。这两行代码都适用于地铁应用

详细说明第二段代码:

lstItems.ScrollIntoView方法将列表滚动到我们通过lstItems.Items[lstItems.Items.Count - 1]获取的指定列表项,该列表项将其滚动到列表的最后一项。