Teclas de acceso directo de WPF (formulario)

Original: teclas de acceso directo WPF (formulario)

Prefacio: En el desarrollo del proyecto WPF, encontré la necesidad de usar teclas de acceso directo, por lo que hice un estudio rápido sobre las teclas de acceso rápido, pero hay pocos recursos en esta área. . .


 Las teclas de acceso rápido se dividen aproximadamente en tres escenarios: el siguiente utiliza QQ como ejemplo:

Tecla de acceso rápido global: QQ Ctrl + Alt + A captura de pantalla .

Tecla de acceso rápido de foco: Shift + Ingresar texto en la barra de mensajes QQ.

Tecla de acceso rápido de la ventana : Alt + F4 para cerrar la ventana QQ.

 

En WPF entre las teclas de acceso rápido mundial y teclas de acceso rápido de enfoque se puede lograr fácilmente , estoy solamente siguiente formulario teclas de acceso rápido para explicar.

El primer paso: proyecto de la derecha del directorio raíz referencias -> Administración Nuget Paquete -> Buscar NHotkey.Wpf y descargar e instalar

Se recomienda agregar el comando de registro a Window (la tecla de acceso rápido debe activarse después de que el mouse haga clic en el foco en Page y UserControl ). Sin más preámbulos, vea el código:

XAML 中 :

Código de copia
    < Window.Resources > 
        < RoutedUICommand x: Key = "WinKeyDown" Text = "F1"  /> 
        <! - WinKeyDown es un nombre de recurso estático, F1 es un sinónimo de su tecla de acceso rápido (como desee) utilizada para la recepción en segundo plano- > 
    </ Window.Resources > 
    < Window.InputBindings > 
        < KeyBinding Gesture = "F1" Command = " {StaticResource WinKeyDown} " HotkeyManager.RegisterGlobalHotkey = "True" /> 
        <! - F1 es la tecla de acceso rápido en el teclado, la propiedad central de HotkeyManager .RegisterGlobalHotkey = "true" Únase para activar la tecla de acceso rápido sin foco, y la tecla de acceso rápido global no sucederá- > 
    </ Window.InputBindings > 
    <Window.CommandBindings > 
        < CommandBinding Command = " {StaticResource WinKeyDown} " 
                   CanExecute = "CommandBinding_CanExecute" /> 
        <! - CanExecute 触发 事件-> 
    </ Window.CommandBindings >
Código de copia

Código de fondo:

Código de copia
        // 窗体 热键
        private  void CommandBinding_CanExecute ( remitente de objeto , CanExecuteRoutedEventArgs e) 
        { 
            switch (((System.Windows.Input.RoutedUICommand) e.Command) .Text) 
            { 
                case  " F1 " : 
                    MessageBox.Show ( " fantasía profunda y oscura " );
                    romper ;
                predeterminado :
                     retorno ; 
            } 
        }
Código de copia

Eso es todo, ahora incluso si su aplicación no tiene foco, se llamará al comando enlazado de tecla de acceso rápido.

Puede lograr operaciones subconscientes como Ctrl + S guardar y F5 actualizar.

Reenvíe el enlace para indicar la fuente.

Supongo que te gusta

Origin www.cnblogs.com/lonelyxmas/p/12730277.html
Recomendado
Clasificación