0

我正在编写一个 WinRT 应用程序,它利用 Gridview 来显示一些数据。Gridview 的 SelectionMode 为 Extended,因此当用户使用光标键导航网格时,所选项目会随它们一起移动(另外我还有多选功能)

我遇到的问题是,如果您使用光标键导航网格并按下 Ctrl,则所选项目保持原样,只有焦点发生变化。我的 DataTemplate 没有显示焦点项目,因此用户很困惑。

无论如何我可以改变这种行为,以便在按住 Ctrl 的情况下导航网格的工作方式与没有被按住的方式相同?

4

1 回答 1

0

最终解决方案非常简单。只需创建一个像这样的 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;
  }
}
于 2015-01-14T21:41:34.127 回答