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