如何在Windows 8(C#)应用程序的ListView中将焦点设置为listitem

如何在Windows 8(C#)应用程序的ListView中将焦点设置为listitem,c#,listview,windows-store-apps,listviewitem,C#,Listview,Windows Store Apps,Listviewitem,当我启用键盘访问并以编程方式将listview滚动到项目nr 50时,我想将焦点项目设置为nr 50,这样,如果用户按下向下箭头,他将从nr 50向下滚动。目前,由于该项已被聚焦,列表跳至nr 1 我已尝试将selectedItem属性设置为50,但行为仍然相同 这个解决方案似乎适用于HTML/JS应用程序,但我看不到与C#相同的API? 使用ScrollIntoView方法 yourListView.ScrollIntoView(数据项) 其中dataItem是对要查看的项的引用 如果Lis

当我启用键盘访问并以编程方式将listview滚动到项目nr 50时,我想将焦点项目设置为nr 50,这样,如果用户按下向下箭头,他将从nr 50向下滚动。目前,由于该项已被聚焦,列表跳至nr 1

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

这个解决方案似乎适用于HTML/JS应用程序,但我看不到与C#相同的API?


使用ScrollIntoView方法

yourListView.ScrollIntoView(数据项)

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

如果ListViView位于SemanticZoom容器中,则会有一点不同。您必须调用MakeVisible()方法


.

以下是一段代码片段:

ListViewItem^selectedListItem=static_cast(您的ListView->ContainerFromIndex(RecipientList->SelectedIndex))


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

我们已经使用LeagueGroupListView.ScrollIntoView(myItem,ScrollIntoViewAlignment.Leading)实现了这一点;但是这个项目没有得到关注?当我使用键盘时,列表跳到顶部并从那里导航。。。
yourListView.currentItem = { index: 8, hasFocus: true, showFocus: true }