【问题标题】:How to set focus to listitem in ListView in Windows 8 (C#) apps如何在 Windows 8 (C#) 应用程序的 ListView 中将焦点设置为 listitem
【发布时间】:2013-04-21 21:36:36
【问题描述】:

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

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

此解决方案似乎适用于 HTML/JS 应用程序,但我没有看到与 C# 相同的 API? how to set a focus of Listview item in Metro apps?

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

【问题讨论】:

    标签: c# listview windows-store-apps listviewitem


    【解决方案1】:

    这是给你的代码 sn-p:

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

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

    【讨论】:

      【解决方案2】:

      使用 ScrollIntoView 方法。

      yourListView.ScrollIntoView(dataItem);

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

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

      Details on MSDN.

      【讨论】:

      • 我们已经使用 LeagueGroupListView.ScrollIntoView(myItem, ScrollIntoViewAlignment.Leading);但该项目没有获得焦点?当我使用键盘时,列表会跳到顶部并从那里导航...
      猜你喜欢
      • 2012-11-21
      • 1970-01-01
      • 2011-05-02
      • 2017-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多