【问题标题】:Why XYFocus working incorrect for xbox uwp app?为什么 XYFocus 对 xbox uwp 应用程序不正确?
【发布时间】:2021-12-05 11:48:26
【问题描述】:

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

【问题讨论】:

    标签: c# uwp uwp-xaml xbox


    【解决方案1】:

    我解决了我的问题。我使用 Microsoft.UI.Xaml 2.7.0 中的 TabView 而不是 Microsoft.Toolkit.Uwp.UI.Controls。也许它在 TabView 的 Toolkit 库中存在错误。

    【讨论】:

    • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2018-01-24
    • 2019-07-04
    • 2016-04-02
    • 2018-07-19
    • 2016-10-02
    • 2022-07-22
    • 1970-01-01
    相关资源
    最近更新 更多