0

I create uwp app for xbox and I try set navigation order using XYFocus property, for navigation using gamepad. But it`s work incorrect.

When I try navigate btn2->btn1, tabviewitem2 got focus. Or when I try navigate btn3->btn2, tabviewitem3 got focus.

https://i.stack.imgur.com/E708C.jpg

Simplified code:


<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>```
bex
  • 15
  • 4

1 Answers1

1

I solve my problem. I use TabView from Microsoft.UI.Xaml 2.7.0 instead Microsoft.Toolkit.Uwp.UI.Controls. Maybe its bug in Toolkit library for TabView.

bex
  • 15
  • 4
  • Your answer could be improved with additional supporting information. Please [edit] to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Oct 19 '21 at 08:25