2017-12-12 41 views
0

WPF VB.NETで無効にコピー/貼り付け/切り取り

このコードは正常に動作します:

 Private Sub textbox_PreviewExecuted(ByVal sender As Object, ByVal e As ExecutedRoutedEventArgs) 
    If e.Command Is ApplicationCommands.Copy OrElse e.Command Is ApplicationCommands.Cut OrElse e.Command Is ApplicationCommands.Paste Then 
     e.Handled = True 
    End If 
End Sub 

しかし、無効をこのコードを使用するCtrl + C/Ctrl + Vは機能しません。

+0

コードが少し不完全で混乱しています。また、XAMLのテキストボックスが表示されない場合は、何らかの理由で重要な場合があります。 – grek40

+0

人がテキストを選択でき、ドラッグアンドドロップでそのテキストを取ることができる場合は、選択自体を無効にすることができます – tetralobita

答えて

0

コマンドを再バインドできます。ここでは、C#のバージョンがあり、VB.Netは、同様の

<TextBox> 
    <TextBox.CommandBindings> 
     <CommandBinding Command="ApplicationCommands.Copy" CanExecute="CommandBinding_CanExecute"/> 
     <CommandBinding Command="ApplicationCommands.Paste" CanExecute="CommandBinding_CanExecute"/> 
    </TextBox.CommandBindings> 
</TextBox> 

ハンドラのようになります。

private void CommandBinding_CanExecute(object sender, CanExecuteRoutedEventArgs e) 
{ 
    e.CanExecute = false; 
    e.Handled = true; 
} 

あなたはそれのためのさまざまな計画を持っている場合を除き、第三者にApplicationCommands.Cutを追加することを検討してください。

関連する問題