为什么 XYFocus 对于 xbox uwp 应用程序工作不正确?

Why XYFocus working incorrect for xbox uwp app?

我为 xbox 创建了 uwp 应用程序,我尝试使用 XYFocus 属性 设置导航顺序,以便使用游戏手柄进行导航。但它的工作不正确。

当我尝试导航 btn2->btn1 时,tabviewitem2 获得焦点。或者当我尝试导航 btn3->btn2 时,tabviewitem3 获得焦点。

https://imgur.com/wGPVvwm

简化代码:


<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>```

我解决了我的问题。我使用 Microsoft.UI.Xaml 2.7.0 中的 TabView 而不是 Microsoft.Toolkit.Uwp.UI.Controls。可能是 TabView 的 Toolkit 库中的错误。