Mega Code Archive

 
Categories / VB.Net / WPF
 

TextBox focus listener

<Window x:Class="WpfApplication1.Window1"     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"     xmlns:custom="clr-namespace:WpfApplication1"     Title="Keyboard Sample" Height="250" Width="300">     <StackPanel>         <Label Name="lblNumberOfTargetHits" HorizontalAlignment="Center"/>         <TextBox Name="txtTargetKey" GotKeyboardFocus="TextBoxGotKeyboardFocus" LostKeyboardFocus="TextBoxLostKeyboardFocus">A</TextBox>         <TextBox TextWrapping="Wrap" GotKeyboardFocus="TextBoxGotKeyboardFocus" LostKeyboardFocus="TextBoxLostKeyboardFocus" KeyDown="SourceTextKeyDown"/>     </StackPanel> </Window> //File:Window.xaml.vb Imports System Imports System.Windows Imports System.Windows.Controls Imports System.Windows.Data Imports System.Windows.Documents Imports System.Windows.Media Imports System.Windows.Media.Imaging Imports System.Windows.Shapes Imports System.Windows.Annotations Imports System.Windows.Input Namespace WpfApplication1   Public Partial Class Window1     Inherits Window     Public Sub New()       InitializeComponent()     End Sub     Private Sub TextBoxGotKeyboardFocus(sender As Object, e As KeyboardFocusChangedEventArgs)       Dim source As TextBox = TryCast(e.Source, TextBox)       If source IsNot Nothing Then         source.Background = Brushes.LightBlue         source.Clear()       End If     End Sub     Private Sub TextBoxLostKeyboardFocus(sender As Object, e As KeyboardFocusChangedEventArgs)       Dim source As TextBox = TryCast(e.Source, TextBox)       If source IsNot Nothing Then         source.Background = Brushes.White       End If     End Sub     Private Sub SourceTextKeyDown(sender As Object, e As KeyEventArgs)       Dim converter As New KeyConverter()       Dim target As Key = Key.None       If txtTargetKey.Text.Length = 1 Then         target = CType(converter.ConvertFromString(txtTargetKey.Text), Key)       End If     End Sub   End Class End Namespace