XAML 如何在GridView中设置/获取高亮显示的项目?

jvlzgdj9  于 2023-04-27  发布在  其他
关注(0)|答案(1)|浏览(81)

使用GridView显示图像集合的WinUI应用程序。
试图弄清楚如何获取/设置当前通过键盘导航突出显示的项目。
我看到当我用鼠标选择一个项目时,一堆Clicked和Tapped事件在子项目上被触发,并且“selected”项目也可以通过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编程.通过MSDN文档看了GridView和WinUI相当广泛超过8小时,但没有看到一个解决方案.试图通过LiveTree视图和属性值寻找相关的东西.尝试了一堆事件处理程序点击,点击等,但无济于事.

pu82cl6c

pu82cl6c1#

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

<GridView x:Name="ImageGridView"
      **SelectionChanged="ImageGridView_SelectionChanged"**
      ...

相关问题