2010-10-15 8 views

risposta

14

Per gestire Backspace o altro tasto premuto per annullarlo, provare a utilizzare il gestore di eventi "PreviewKeyDown".

Nel vostro XAML, impostare l'attributo PreviewKeyDown in questo modo:

<TextBox PreviewKeyDown="textBox1_PreviewKeyDown" ... 

e nel codice, definire il gestore di eventi come questo:

private void textBox1_PreviewKeyDown(object sender, KeyEventArgs e) 
{ 
    if (e.Key == Key.Back || e.Key == Key.Delete) 
    { 
     e.Handled = true; 
    } 
} 

Hop che aiuta :)

+0

Sì, grazie mille :-)! – Ueli

0

Provare a ignorare OnTextInput(...).

Quindi il if(args.Text == "\b") dovrebbe fornire il backspace.

+0

Quello non esiste in .NET 4.0 per un'applicazione WPF :-( – Ueli

+0

@Xarem, ma lo fa. Vedi http://msdn.microsoft.com/en-us/library/system.windows.uielement.ontextinput.aspx. Non stai sottoclassi a Classe di finestre? –