2010-06-16 2 views

Antwort

8

Sie können dies ganz einfach mit dem CommandManager.PreviewCanExecute-Routingereignis durchführen. In Ihrem XAML würden Sie Folgendes auf Ihr TextBox-Element anwenden. Dies gilt für CTL + V, usw. sowie für das Kontextmenü oder für alle Schaltflächen, die Sie diesen Befehlen zugeordnet haben, so dass es sehr effektiv ist.

Fügen Sie dann in Ihrem Code-Behind eine HandleCanExecute-Methode hinzu, die die Befehle deaktiviert.

private void HandleCanExecute(object sender, CanExecuteRoutedEventArgs e) { 

    if (e.Command == ApplicationCommands.Cut || 
     e.Command == ApplicationCommands.Copy || 
     e.Command == ApplicationCommands.Paste) { 

     e.CanExecute = false; 
     e.Handled = true; 

    } 

}