2009-06-02 111 views

回答

40

剪切,複製和粘貼是所使用的任何應用程序的公共命令,

<TextBox CommandManager.PreviewExecuted="textBox_PreviewExecuted" 
     ContextMenu="{x:Null}" /> 
在上述文本代碼

我們可以限制在命令管理類

和在代碼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; 
    } 
} 
13

的命令名的方法將不會與日本OS的命令名的系統工作==「粘貼」無線網絡連接比較會失敗。我嘗試了下面的方法,它爲我工作。另外我不需要手動禁用上下文菜單。

在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; 
}