React to TextBox focus event : TextBox Action « Windows Presentation Foundation « C# / CSharp Tutorial






<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);
            }
        }
    }
}
WPF Text Box Focus Listener








24.14.TextBox Action
24.14.1.React to TextBox focus eventReact to TextBox focus event
24.14.2.TextBox MouseLeftButtonDown action and PreviewMouseLeftButtonDown actionTextBox MouseLeftButtonDown action and PreviewMouseLeftButtonDown action
24.14.3.Listen to TextBox text changed eventListen to TextBox text changed event
24.14.4.Handler for the PreviewKeyDown event on the TextBoxHandler for the PreviewKeyDown event on the TextBox
24.14.5.TextBox PreviewKeyDownTextBox PreviewKeyDown
24.14.6.TextBox KeyDown actionTextBox KeyDown action
24.14.7.TextBox PreviewKeyUpTextBox PreviewKeyUp
24.14.8.TextBox KeyUpTextBox KeyUp
24.14.9.TextBox TextInput eventTextBox TextInput event
24.14.10.TextBox PreviewTextInputTextBox PreviewTextInput
24.14.11.TextBox PreviewKeyDown, PreviewKeyUp, PreviewTextInput, KeyDown, KeyUp and TextChanged eventsTextBox PreviewKeyDown, PreviewKeyUp, PreviewTextInput, KeyDown, KeyUp and TextChanged events