0

当我启用键盘访问并以编程方式将列表视图滚动到项目 nr 50 时,我想将焦点项目设置为 nr 50,因此如果用户按下向下箭头,他将从 nr 50 向下滚动。当前列表跳转到 nr 1,因为该项目已获得焦点。

我尝试将 selectedItem 属性设置为 50,但仍然是相同的行为。

此解决方案似乎适用于 HTML/JS 应用程序,但我没有看到与 C# 相同的 API? 如何在 Metro 应用程序中设置 Listview 项目的焦点?

yourListView.currentItem = { index: 8, hasFocus: true, showFocus: true }
4

2 回答 2

1

这是给您的代码片段:

ListViewItem^ selectedListItem = static_cast(yourListView->ContainerFromIndex(RecipientList->SelectedIndex));

selectedListItem->Focus(Windows::UI::Xaml::FocusState::Pointer);

于 2015-05-26T22:37:09.787 回答
0

使用 ScrollIntoView 方法。

yourListView.ScrollIntoView(dataItem);

其中 dataItem 是对您要查看的项目的引用。

如果 ListView 在 SemanticZoom 容器中,情况会有所不同。你必须调用 MakeVisible() 方法。

MSDN 上的详细信息

于 2013-04-23T01:30:24.320 回答