Custom Command by KeyGesture and RoutedUICommand : Key Event « Windows Presentation Foundation « VB.Net Tutorial






<Window x:Class="Commands.CustomCommand"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Commands" Height="300" Width="300" xmlns:local="clr-namespace:Commands">
  <Window.CommandBindings>
    <CommandBinding Command="local:DataCommands.MyCommand" Executed="MyCommand"/>
  </Window.CommandBindings>
  <Grid>
    <Button Margin="5" Command="local:DataCommands.MyCommand">Requery</Button>      
  </Grid>
</Window>
//File:Window.xaml.vb


Imports System
Imports System.Collections.Generic
Imports System.Text
Imports System.Windows
Imports System.Windows.Controls
Imports System.Windows.Data
Imports System.Windows.Documents
Imports System.Windows.Input
Imports System.Windows.Media
Imports System.Windows.Media.Imaging
Imports System.Windows.Shapes

Namespace Commands
  Public Partial Class CustomCommand
    Inherits System.Windows.Window
    Public Sub New()
      InitializeComponent()
    End Sub
    Private Sub MyCommand(sender As Object, e As ExecutedRoutedEventArgs)
      Console.WriteLine("Control R pressed")
    End Sub
  End Class
  Public Class DataCommands
    Shared my As RoutedUICommand
    Shared Sub New()
      Dim inputs As New InputGestureCollection()
      inputs.Add(New KeyGesture(Key.R, ModifierKeys.Control, "Ctrl+R"))
      my = New RoutedUICommand("Requery", "Requery", GetType(DataCommands), inputs)
    End Sub
    Public Shared ReadOnly Property MyCommand() As RoutedUICommand
      Get
        Return my
      End Get
    End Property
  End Class
End Namespace
WPF Custom Command By Key Gesture And Routed U I Command








16.90.Key Event
16.90.1.Creating a KeyBinding between the Open command and Ctrl-RCreating a KeyBinding between the Open command and Ctrl-R
16.90.2.Command Handler Key BindingCommand Handler Key Binding
16.90.3.Use Keyboard.Focus to set the focus to a Text FieldUse Keyboard.Focus to set the focus to a Text Field
16.90.4.Provide Quick Keyboard Access to ButtonsProvide Quick Keyboard Access to Buttons
16.90.5.Reading keyboard modifiersReading keyboard modifiers
16.90.6.Reading individual key state with Keyboard.IsKeyDownReading individual key state with Keyboard.IsKeyDown
16.90.7.Use InputBinding to bind Application commends to Key eventsUse InputBinding to bind Application commends to Key events
16.90.8.Suppress Keyboard and Mouse EventsSuppress Keyboard and Mouse Events
16.90.9.Query Left / Right control keyQuery Left / Right control key
16.90.10.Is Key.CapsLock ToggledIs Key.CapsLock Toggled
16.90.11.Keyboard.IsKeyToggledKeyboard.IsKeyToggled
16.90.12.Query Number lock keyQuery Number lock key
16.90.13.Use KeyBinding to bind Key event to TextBox.InputBindingsUse KeyBinding to bind Key event to TextBox.InputBindings
16.90.14.Custom Command by KeyGesture and RoutedUICommandCustom Command by KeyGesture and RoutedUICommand
16.90.15.TextBox PreviewKeyDown, PreviewKeyUp, PreviewTextInput, KeyDown, KeyUp and TextChanged eventsTextBox PreviewKeyDown, PreviewKeyUp, PreviewTextInput, KeyDown, KeyUp and TextChanged events
16.90.16.StackPanel PreviewTextInput and PreviewKeyDownStackPanel PreviewTextInput and PreviewKeyDown
16.90.17.If input is not a number do not handle the key eventIf input is not a number do not handle the key event
16.90.18.RoutedEvents: Tunneled Key PressRoutedEvents: Tunneled Key Press
16.90.19.On Key Down HandlerOn Key Down Handler