Как получить событие KeyDown для запуска со страницы WPF - PullRequest
0 голосов
/ 24 марта 2020

Цель: На странице WPF я хочу, чтобы пользователь мог нажимать заранее заданную последовательность клавиш, которая вызовет событие, вызывающее появление элемента управления (кнопки). Я посмотрел на все, что могу найти для событий KeyDown и Keyboard.KeyDown, и они, кажется, не запускают событие в коде позади.

XAML:

<Page x:Class="KioskClient.Begin"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
xmlns:dx="http://schemas.devexpress.com/winfx/2008/xaml/core" 
xmlns:dxe="http://schemas.devexpress.com/winfx/2008/xaml/editors" 
xmlns:local="clr-namespace:KioskClient"
xmlns:uc="clr-namespace:KioskClient"

xmlns:controls="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

mc:Ignorable="d" 
d:DesignHeight="450" d:DesignWidth="800"    
Background="Black" 
Title="SIMS Check In"
Keyboard.KeyDown="Page_KeyDown"
>

<DockPanel LastChildFill="True" Background="Black">

<!--Since you always want the Back, Next, Cancel button to be docked to 
the bottom of the screen, put them first in the Dockpanel and dock them, 
the other objects then fill the space.-->
<controls:UniformGrid Margin="100" Rows="1"
HorizontalAlignment="Center"
VerticalAlignment="Bottom" Background="Black" DockPanel.Dock="Bottom">
</DockPanel>
</Page>

C#:

private void Page_KeyDown (отправитель объекта, KeyEventArgs e)

Я знаю, что делать, когда могу запустить событие, но событие не стреляет. Я не хочу сосредотачиваться ни на чем, кроме самой страницы, которую я установил 'this.Focusable = true;' в конструкторе. Очевидно, я что-то упустил. Может кто-нибудь сказать мне, что это такое?

1 Ответ

0 голосов
/ 24 марта 2020

Используйте Keyboard.KeyDown вместо. Это должно решить вашу проблему.

<Window ...
    Keyboard.KeyDown="Page_KeyDown">
    ...
</Window>
...