RoutedEvents: Tunneled Key Press : Key Event « Windows Presentation Foundation « VB.Net






RoutedEvents: Tunneled Key Press

RoutedEvents: Tunneled Key Press
    
<Window x:Class="RoutedEvents.TunneledKeyPress"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="TunneledKeyPress" Height="400" Width="400" PreviewKeyDown="SomeKeyPressed" >
  <StackPanel>
    <Label Margin="5" BorderBrush="Black" BorderThickness="1" HorizontalContentAlignment="Stretch"
           PreviewKeyDown="SomeKeyPressed">
      <StackPanel PreviewKeyDown="SomeKeyPressed">
        <TextBlock Margin="3" HorizontalAlignment="Center" PreviewKeyDown="SomeKeyPressed">
          Image and text label
        </TextBlock>
        <Image Source="c:\image.jpg" Stretch="None" PreviewKeyDown="SomeKeyPressed"/>
        <DockPanel Margin="10" PreviewKeyDown="SomeKeyPressed"> 
          <TextBlock Margin="3" PreviewKeyDown="SomeKeyPressed">Type here:</TextBlock>
          <TextBox PreviewKeyDown="SomeKeyPressed" KeyDown="SomeKeyPressed"></TextBox>
        </DockPanel>
      </StackPanel>
    </Label>
    <ListBox Margin="5" Name="lstMessages"></ListBox>
    <CheckBox Margin="5" Name="chkHandle">Handle first event</CheckBox>
    <Button Click="cmdClear_Click" HorizontalAlignment="Right" Margin="5" Padding="3">Clear List</Button>
  </StackPanel>
</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 RoutedEvents
  Public Partial Class TunneledKeyPress
    Inherits System.Windows.Window
    Public Sub New()
      InitializeComponent()
    End Sub

    Protected eventCounter As Integer = 0

    Private Sub SomeKeyPressed(sender As Object, e As RoutedEventArgs)
      eventCounter += 1
      Dim message As String = "#" & eventCounter.ToString() & ":" & vbCr & vbLf & " Sender: " & sender.ToString() & vbCr & vbLf & " Source: " & Convert.ToString(e.Source) & vbCr & vbLf & " Original Source: " & Convert.ToString(e.OriginalSource) & vbCr & vbLf & " Event: " & Convert.ToString(e.RoutedEvent)
      lstMessages.Items.Add(message)
      e.Handled = CBool(chkHandle.IsChecked)
    End Sub

    Private Sub cmdClear_Click(sender As Object, e As RoutedEventArgs)
      eventCounter = 0
      lstMessages.Items.Clear()
    End Sub
  End Class
End Namespace

   
    
    
    
  








Related examples in the same category

1.Creating a KeyBinding between the Open command and Ctrl-RCreating a KeyBinding between the Open command and Ctrl-R
2.Command Handler Key BindingCommand Handler Key Binding
3.Use Keyboard.Focus to set the focus to a Text FieldUse Keyboard.Focus to set the focus to a Text Field
4.Provide Quick Keyboard Access to ButtonsProvide Quick Keyboard Access to Buttons
5.Reading keyboard modifiersReading keyboard modifiers
6.Reading individual key state with Keyboard.IsKeyDownReading individual key state with Keyboard.IsKeyDown
7.Use InputBinding to bind Application commends to Key eventsUse InputBinding to bind Application commends to Key events
8.Suppress Keyboard and Mouse EventsSuppress Keyboard and Mouse Events
9.Query Left / Right control keyQuery Left / Right control key
10.Is Key.CapsLock ToggledIs Key.CapsLock Toggled
11.Keyboard.IsKeyToggledKeyboard.IsKeyToggled
12.Query Number lock keyQuery Number lock key
13.Use KeyBinding to bind Key event to TextBox.InputBindingsUse KeyBinding to bind Key event to TextBox.InputBindings
14.Custom Command by KeyGesture and RoutedUICommandCustom Command by KeyGesture and RoutedUICommand
15.TextBox PreviewKeyDown, PreviewKeyUp, PreviewTextInput, KeyDown, KeyUp and TextChanged eventsTextBox PreviewKeyDown, PreviewKeyUp, PreviewTextInput, KeyDown, KeyUp and TextChanged events
16.StackPanel PreviewTextInput and PreviewKeyDownStackPanel PreviewTextInput and PreviewKeyDown
17.If input is not a number do not handle the key eventIf input is not a number do not handle the key event
18.On Key Down HandlerOn Key Down Handler