Как я могу удалить текстовое поле WPF, скопировать и вставить?
Сделайте текстовое поле WPF отрезанным, скопируйте и вставьте
Ответ 1
Вырезать, копировать и вставить общие команды, используемые в любом приложении,
<TextBox CommandManager.PreviewExecuted="textBox_PreviewExecuted"
ContextMenu="{x:Null}" />
в приведенном выше текстовом поле мы можем ограничить эти команды в событии PrviewExecuted класса CommandManager
и в коде ниже добавить код ниже и ваша работа выполнена
private void textBox_PreviewExecuted(object sender, ExecutedRoutedEventArgs e)
{
if (e.Command == ApplicationCommands.Copy ||
e.Command == ApplicationCommands.Cut ||
e.Command == ApplicationCommands.Paste)
{
e.Handled = true;
}
}
Ответ 2
Метод commandName не будет работать в системе с японской ОС, так как командаName == Сравнение "Вставить" завершится ошибкой. Я попробовал следующий подход, и это сработало для меня. Также мне не нужно вручную отключать контекстное меню.
В файле XaML:
<PasswordBox.CommandBindings>
<CommandBinding Command="ApplicationCommands.Paste"
CanExecute="CommandBinding_CanExecutePaste"></CommandBinding>
</PasswordBox.CommandBindings>
В коде позади:
private void CommandBinding_CanExecutePaste(object sender, CanExecuteRoutedEventArgs e)
{
e.CanExecute = false;
e.Handled = true;
}