【发布时间】:2021-12-05 11:48:26
【问题描述】:
我为 xbox 创建了 uwp 应用程序,并尝试使用 XYFocus 属性设置导航顺序,以便使用游戏手柄进行导航。但它的工作不正确。
当我尝试导航 btn2->btn1 时,tabviewitem2 获得了焦点。或者当我尝试导航 btn3->btn2 时,tabviewitem3 获得焦点。
简化代码:
<Grid x:Name="RootElement">
<uicontrols:TabView x:Name="TabView">
<uicontrols:TabViewItem Header="1"></uicontrols:TabViewItem>
<uicontrols:TabViewItem Header="2">
<Grid>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Button x:Name="btn1"
Grid.Column="0"
Content="1"
XYFocusRight="{x:Bind btn2}"
XYFocusRightNavigationStrategy="Projection"/>
<Button x:Name="btn2"
Grid.Column="1"
Content="2"
XYFocusLeft="{x:Bind btn1}"
XYFocusRight="{x:Bind btn3}"
XYFocusLeftNavigationStrategy="Projection"
XYFocusRightNavigationStrategy="Projection"/>
<Button x:Name="btn3"
Grid.Column="2"
Content="3"
XYFocusLeft="{x:Bind btn2}"
XYFocusDown="{x:Bind lv}"
XYFocusRight="{x:Bind lv}"
XYFocusLeftNavigationStrategy="Projection"
XYFocusDownNavigationStrategy="Projection"/>
</Grid>
<ListView x:Name="lv"></ListView>
</Grid>
</uicontrols:TabViewItem>
<uicontrols:TabViewItem Header="3"></uicontrols:TabViewItem>
<uicontrols:TabViewItem Header="4"></uicontrols:TabViewItem>
</uicontrols:TabView>
</Grid>```
【问题讨论】: