2010-10-15 19 views
6

Jak mogę zabezpieczyć Backspace-Key tak łatwo jak to możliwe w aplikacji WPF?Jak zakazać klucz Backspace w WPF

Kluczowe zdarzenie nie przechwytuje na klawiszach DEL i klawiszach Backspace.

Dziękujemy!

Odpowiedz

14

Aby obsłużyć Backspace lub inny naciśnięty klawisz w celu anulowania, spróbuj użyć funkcji obsługi zdarzenia "PreviewKeyDown".

W swojej XAML ustawić atrybut PreviewKeyDown tak:

<TextBox PreviewKeyDown="textBox1_PreviewKeyDown" ... 

w kodzie, określić procedurę obsługi zdarzenia tak:

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

Hop, który pomaga :)

+0

Tak, dziękuję bardzo :-)! – Ueli

0

Spróbuj przesłonić OnTextInput(...).

Następnie if(args.Text == "\b") powinien dać ci backspace.

+0

Że nie istnieje w .NET 4.0 dla aplikacji WPF :-( – Ueli

+0

@Xarem, ale tak jest. Zobacz http://msdn.microsoft.com/en-us/library/system.windows.uielement.ontextinput.aspx. Nie podklaskujesz Klasa okien? –

Powiązane problemy