<Window x:Class="RoutedEvents.OnlyNumbers" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Only Numbers" Height="300" Width="300"> <StackPanel Margin="5" PreviewTextInput="pnl_PreviewTextInput" PreviewKeyDown="pnl_PreviewKeyDown"> <TextBox Margin="3" AcceptsTab="False"></TextBox> <TextBox Margin="3"></TextBox> <TextBox Margin="3"></TextBox> </StackPanel> </Window> //File:Window.xaml.cs using System; using System.Collections.Generic; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; namespace RoutedEvents { public partial class OnlyNumbers : System.Windows.Window { public OnlyNumbers() { InitializeComponent(); } private void pnl_PreviewTextInput(object sender, TextCompositionEventArgs e) { short val; if (!Int16.TryParse(e.Text, out val)) { e.Handled = true; } } private void pnl_PreviewKeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Space) { e.Handled = true; } } } }