Вы можете сделать это довольно легко, используя перенаправленное событие CommandManager.PreviewCanExecute.В вашем XAML вы бы поместили следующее в ваш элемент TextBox.Это будет применяться к CTL + V и т. Д., А также к контекстному меню или любым кнопкам, которые вы, возможно, сопоставили с этими командами, так что это очень эффективно.
<TextBox CommandManager.PreviewCanExecute="HandleCanExecute" />
Затем в своем коде добавьте HandleCanExecuteметод, который отключает команды.
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;
}
}