WinRT 网格视图焦点/所选项行为



A 正在编写一个利用网格视图显示一些数据的 WinRT 应用程序。 网格视图的选择模式为扩展,因此当用户使用光标键导航网格时,所选项目会随之移动(此外,我具有多选功能)

我遇到的问题是,如果您使用光标键导航网格并按下 Ctrl,则所选项目将保留在原处,只有焦点会发生变化。 我的数据模板不显示焦点项目,因此用户非常困惑。

无论如何,我可以更改此行为,以便在按住 Ctrl 的情况下导航网格的工作方式与未按住网格的方式相同?

最后的解决方案非常简单。 只需创建一个像这样的 GotFocus 处理程序:

private void SdxGridView_GotFocus(object sender, RoutedEventArgs e)
{
  if (e.OriginalSource is GridViewItem && !((GridViewItem)e.OriginalSource).IsSelected)
  {
    SelectedItems.Clear();
    ((GridViewItem)e.OriginalSource).IsSelected = true;
  }
}

最新更新