如何在GridView中设置/获取高亮项?

问题描述 投票:0回答:1

正在开发一个使用 GridView 显示图像集合的 WinUI 应用程序。

试图弄清楚如何获取/设置当前通过键盘导航突出显示的项目。

我看到当我用鼠标选择一个项目时,会在子项目上触发一堆 Clicked 和 Tapped 事件,并且“选定”项目也可以通过 GridView 控件中的 SelectedItem、SelectedIndex 获得。但是如果我使用键盘在项目之间移动,我找不到任何被触发的事件以及任何查询 Gridview 哪个项目被“突出显示”的方法。

GridView 中突出显示与选择的差异让我有点抓狂。

在下面的快照中,第一项通过键盘导航突出显示,但第二项返回为选中状态。

   <GridView x:Name="ImageGridView"
              ItemTemplate="{StaticResource ImageTemplate}"
              SelectionMode="Single"/>

  <DataTemplate x:Key="ImageTemplate"
                x:DataType="local:Item">
       <StackPanel 
           IsDoubleTapEnabled="True"
           DoubleTapped="ImageDoubleTapped"
           IsTapEnabled="True"
           Tapped="ImageTapped"
           GotFocus="Panel_GotFocus">
            <Grid><Image/></Grid>
      </StackPanel>
 </DataTemplate>

WinUI 编程新手。在超过 8 小时的时间里广泛查看了 GridView 和 WinUI 的 MSDN 文档,但没有找到解决方案。尝试查看 LiveTree 视图和属性值以找到相关内容。尝试了一堆事件处理程序点击,点击等但无济于事。

c# xaml uwp winui-3 winui
1个回答
0
投票

天哪。我想我可能在关闭研究标签时发布问题一分钟后找到了解决方案。

SelectionChanged="ImageGridView_SelectionChanged" ...

© www.soinside.com 2019 - 2024. All rights reserved.