Я пытаюсь заставить мое приложение UWP хорошо играть с контроллерами xbox и сталкиваюсь со следующей проблемой:
Как система для модальных окон, у меня есть элемент управления Frame
впередний план моей MainPage и маска за фреймом, который действует как слой отклонения (нажатие на него закрывает фрейм).Стек пользовательского интерфейса выглядит следующим образом:
<Page>
<Grid>
<Grid x:Name="content"></Grid>
<Rectangle x:Name="LightDismiss" Visibility="Collapsed"/>
<Frame x:Name="SubFrame" Visibility="Collapsed" MaxWidth="500" MaxHeight="500" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Grid>
</Page>
У меня есть SubFrameNavigator()
, который будет перемещать субкадр на указанную страницу и анимировать слой LightDismiss.
Проблема в том, что XYполностью и логично перемещается по геймпаду, игнорируя слой отклонения, что позволяет перемещать фокус из кадра в элементы управления в сетке позади него.Как я могу "заблокировать" фокус внутри кадра, чтобы невозможно было переместить фокус за его пределы?
Я пытался установить XYFocusKeyboardNavigationMode
в Disabled
на сетке, содержащейсодержимое приложения, но оно, похоже, ничего не меняет.Я также попытался поиграться с FocusEngagement
связанными свойствами, но также не добился успеха.