Window Preview Key Events : Window Event « Windows Presentation Foundation « VB.Net Tutorial






<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
WPF Window Preview Key Events








16.58.Window Event
16.58.1.Window.CommandBindingsWindow.CommandBindings
16.58.2.Window.DragMoveWindow.DragMove
16.58.3.Listen to Window loaded eventListen to Window loaded event
16.58.4.Create Window and add window closing event handlerCreate Window and add window closing event handler
16.58.5.Activate window, close window, bring window to frontActivate window, close window, bring window to front
16.58.6.Window Preview Key EventsWindow Preview Key Events
16.58.7.Window On Mouse move eventWindow On Mouse move event
16.58.8.Window On Mouse up eventWindow On Mouse up event
16.58.9.Window mouse down eventWindow mouse down event
16.58.10.Window Preview mouse down eventWindow Preview mouse down event
16.58.11.Window mouse up eventWindow mouse up event
16.58.12.Close a window with Escape key pressedClose a window with Escape key pressed
16.58.13.Window Closing and Closed eventWindow Closing and Closed event