1

我的 Metro 应用程序中有一个列表视图。我想在我的列表视图中设置最后一项的焦点?如何设置列表视图项的焦点?谁能帮助我?

谢谢你。

4

3 回答 3

4

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

具体来说,为它分配一个对象,其中包含您要选择的数据项的索引(来自您的数据源),以及hasFocusshowFocus属性集:

var yourListView = getYourListViewFromSomewhere();
yourListView.currentItem = { index: 8, hasFocus: true, showFocus: true }
于 2012-12-03T16:46:06.903 回答
1

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

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

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

否则,多米尼克的解决方案应该只用于设置焦点。

于 2012-12-03T18:42:49.560 回答
1

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

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

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

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

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

详细说明第二段代码:

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

于 2012-12-13T13:24:15.333 回答