Когда элемент пользовательского интерфейса (элемент управления) фокусируется в приложении uwp, его можно вызвать с помощью клавиш Пробел или Ввод , это не ограничивается рабочим столом, но также помогает в Xboxтаким образом, пользователь может перемещаться по элементам управления и нажимать на любом сфокусированном элементе управления, чтобы активировать его Command
.
вариант использования
Но в моем случае использования я хочу только Введите , чтобы вызвать это поведение, и Пробел не должен делать вообще ничего, какой бы элемент управления не нажимался на экране.
Причина этого требования в том, что я строюприложение MediaPlayer
и независимо от того, какой элемент управления или кнопка фокусируется в приложении, когда я нажимаю Пробел Я хочу просто связать его с поведением Воспроизведение / Пауза моего элемента мультимедиа.
Не дубликат
Этот вопрос не является дубликатом: UWP - Не запускать событие Click при нажатии пробела (как в приложении «Фильмы и ТВ»))
Потому что в вопросеКак указано выше, ответ был релевантным только в том случае, если какой-либо из AppBarButtons
был сфокусирован, поэтому он ничего не будет делать при нажатии Пробел , а будет вызываться только с помощью Enter .Но в моем случае я хочу применить то же поведение даже вне элемента управления MediaPlayerElement
.У меня есть NavigationView
и MediaPlayerElement
, находящиеся на одной из страниц, поэтому я хочу, чтобы это поведение работало, даже когда NavigationViewItem
находится в фокусе или любой другой элемент управления, который может быть сфокусирован и вызван, должен вызываться только с Введите , а не Пробел .
Существует ли решение на уровне приложения, где я могу применить это поведение на самом корневом элементе управления, и оно распространяется на всех его дочерних элементов, т. Е. На целое приложение?
То, что я пробовал
Я пытался ответить на уже отвеченный вопрос (ссылка выше), и это прекрасно работает для ограниченного сценария.И я также попытался установить AllowFocusOnInteraction=false
для каждой кнопки панели приложения, а также другие дополнительные элементы управления, которые у меня есть в стиле моего CustomMediaTransportControls
.Но это также ограничено только MediaPlayerElement
и также предотвращает навигацию по вкладкам, что не очень удобно для доступа.