2010-06-16 75 views

回答

8

使用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; 

    } 

} 
相關問題