Mega Code Archive

 
Categories / C# / 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.cs using System; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using System.Windows.Annotations; using System.Windows.Input; namespace WpfApplication1 {     public partial class Window1 : Window     {         public Window1()         {             InitializeComponent();         }         private void TextBoxGotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)         {             TextBox source = e.Source as TextBox;             if (source != null)             {                 source.Background = Brushes.LightBlue;                 source.Clear();             }         }         private void TextBoxLostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)         {             TextBox source = e.Source as TextBox;             if (source != null)             {                 source.Background = Brushes.White;             }         }         private void SourceTextKeyDown(object sender, KeyEventArgs e)         {             KeyConverter converter = new KeyConverter();             Key target = Key.None;             if (txtTargetKey.Text.Length == 1)             {                 target = (Key)converter.ConvertFromString(txtTargetKey.Text);             }         }     } }