如何将WPF文本框剪切,复制和粘贴限制?
答案 0 :(得分:45)
剪切,复制和粘贴是任何应用程序使用的常用命令,
<TextBox CommandManager.PreviewExecuted="textBox_PreviewExecuted"
ContextMenu="{x:Null}" />
在上面的文本框代码中,我们可以在CommandManager类的PrviewExecuted事件中限制这些命令
并在后面的代码中添加以下代码并完成您的工作
private void textBox_PreviewExecuted(object sender, ExecutedRoutedEventArgs e)
{
if (e.Command == ApplicationCommands.Copy ||
e.Command == ApplicationCommands.Cut ||
e.Command == ApplicationCommands.Paste)
{
e.Handled = true;
}
}
答案 1 :(得分:16)
commandName方法不适用于具有日语操作系统的系统,因为commandName ==“粘贴”比较将失败。我尝试了以下方法,它对我有用。此外,我不需要手动禁用上下文菜单。
在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;
}