我正在编写一个WinRT应用程序,它利用Gridview显示一些数据。 Gridview的SelectionMode为Extended,因此当用户使用光标键导航网格时,所选项目随之移动(加上我有多选功能)
我遇到的问题是,如果您使用光标键导航网格并按下Ctrl键,则所选项目保持原样,只有焦点发生变化。我的DataTemplate没有显示焦点项目,因此对用户来说非常混乱。
无论如何我可以改变这种行为,以便按住Ctrl键导航网格的方式与没有按下的方式相同吗?
答案 0 :(得分: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;
}
}